Overview Page – Resizable Card Layout

Unlimited Possibilities for Designing Cards 

The resizable card layout is a layout for the overview page. It enables users to define a personalized card layout by changing not only the position of a card, but also its size, and thus how the card content is presented.

This layout gives users much greater flexibility in tailoring the overview page to their specific business needs. And it allows app teams to offer varying levels of detail for any given card. Whenever the size of a card changes, the content adapts automatically to show the most relevant information in the available space.

At a Glance

  • Flexible card dimensions (grid-based)
  • More flexibility to define individual card layouts
  • Responsive and adaptive card content
  • Applying progressive disclosure principles
Overview page – Resizable card layout
Overview page – Resizable card layout

Unlike the fixed card layout, cards in the resizable card layout do not have fixed dimensions. In addition, the number of columns in the resizable layout is no longer limited (also see letterboxing).

The cards are positioned on an underlying grid, making it possible to arrange and resize cards in a flexible, yet guided manner. You can offer different views of the card content for different dimensions of the various card types. For example, you can show more items, zoom in or out, or change the granularity of a dataset.

The resizable card layout does not replace the fixed card layout.

Usage

Use the resizable card layout if:

  • You want to give users the flexibility to rearrange and adapt their overview page as they need.
  • You want to help users focus by applying progressive disclosure principles.
  • You want to make use of different card sizes.
  • You want to show more content (for example, more items or an additional level of detail)

Do not use the resizable card layout if:

  • Your card content doesn’t react properly to a change in size. Use the fixed card layout instead.
  • You are not able to invest UX and development resources for creating and prioritizing additional content. Use the fixed card layout instead.
  • You want to use the resizing functionality on mobile devices. Resizing and rearranging cards is currently not possible on mobile devices.

Flexible Card Sizes

Grid

Cards can be increased and decreased vertically in rows of 1 rem and horizontally in steps of 20 rem (minimum width). These dimensions facilitate both a high degree of flexibility and measured guidance. The card content responds immediately to a change in size.

The grid provides a guided resizing and repositioning experience. This ensures that the cards are always correctly aligned on the overview page as the user moves or resizes them.

Resizable card layout – Grid
Resizable card layout – Grid

Card Anatomy

card is made up of a mandatory header and a content area.

Mini Header

The smallest representation of the card is the header. The card can be collapsed to only its header height. We call this the “mini header” card height.

Mini Content

The “mini content” height of a card is defined by the next suitable size for a card when it is resized. The minimum height for the card content depends on the card type, and must be as high as the smallest representation of the content. In a list card, for example, first list item needs to fit in.

To avoid states with cut or unsubstantial content, there are no resizing steps between mini header and mini content.

Card anatomy
Card anatomy
Minimum heights for a card in the resizable card layout
Minimum heights for a card in the resizable card layout
Example of Card Sizes
Example of Card Sizes

Dealing with White Space

If no additional content is available, the user still can make the card bigger, resulting in white space.

Resizing Parameters

The card content depends on the available space, which in turn determines how many items are shown, how each item is displayed, and the level of detail (granularity). How the content is resized depends on the type of card. For example, table cards can have fewer columns when the size of the card is decreased. By contrast, the content shown for each item on list cards remains the same.

Space

When a card is resized, the content adapts responsively. 

Example: List card
When the size of a card is reduced, texts might be truncated or wrapped. When the card size is increased again, the text is shown in full and previously wrapped text moves back onto one line. The line item content itself is unchanged.

Resizing for a list card
Resizing for a list card

Items

When you increase the size of a list or table card, more line items are shown.

Resizing for a table card
Resizing for a table card

Granularity

If you increase the size of an analytical card, more data points are revealed. In this example, the donut chart on the larger card shows more individual product categories.

Resizing for an analytical card (donut chart)
Resizing for an analytical card (donut chart)

Rearranging Cards – Behavior

When a user long presses on a card instead of just clicking, the mouse cursor changes to indicate that the card can be dragged. Cards can be dragged from both the header and content areas. 

Cards always strive towards the top of the page (uplift mode). When you move or stretch cards horizontally, the existing cards you displace are pushed downwards.

Resizing cards / rearranging cards using drag and drop
Resizing cards / rearranging cards using drag and drop

Getting Started

UX and DEV Investment Required

To enable users to benefit fully from the resizable card functionality, you need to define additional content that is revealed progressively as the card size grows. You will need to develop a content strategy to prioritize the chunks of information for each card type, and hence the order in which these additional chunks of information appear. For instance, the content strategy for a table card should answer the following questions:

  • What should be the initial size of the card in the layout?
  • Which table columns do you want to show in the card with the minimum width?
  • Which table columns do you want to add when the card width is increased by one, two, three, … horizontal steps?

Keep in mind that the overview page is an SAP Fiori element.

Developer Hint
If you want to enable the resizable card layout for an existing overview page with the fixed card layout, consider the investment you’ll need to make in additional and meaningful content.

Set Initial Card Sizes

Set an initial order and initial dimensions for each card as a default. Do this for the mini header, the mini content, and for bigger card sizes. In cards with content, define the exact number of items included in the content area.

Consider the best practices for designing an overview page and the principles for resizing the cards. It’s important to provide a meaningful starting point for users. If users change the card size or order, the initial app default can always be restored using the Manage Cards setting in the user actions menu.

Important: Do not provide only mini headers in the initial layout for your overview page.

Block Card Resizing

App teams can block the resize feature for each card individually. In this case, the cards can’t be resized by users and the resize icon is not shown on the card. Use this feature judiciously and only if you really have to. The majority of cards should be resizable. Otherwise, users are likely to be confused, and might feel driven to check the resizing behavior for each card.

Alternative approach

If you want to make use of the different card sizes, but don’t want to allow resizing for users at all, you can block the resizing function for all cards (independently of the initial card size). This allows you to use different card sizes and the same (limited) personalization features as in the fixed card layout. Because none of the cards are resizable, users won’t be confused.

Letterboxing

The resizable card layout uses different letterboxing behavior than the fixed card layout: to handle different card sizes more flexibly, the resizable card layout does not have a fixed number of columns. Cards take up the the available screen real estate and adapt accordingly (also see responsiveness). As a result, larger screens can be almost completely filled.

Responsiveness

Information
Resizing is not supported on mobile devices. However, users can resize cards freely in smaller windows on a desktop device.

UI controls inside the cards react responsively when cards are resized. On mouse-release, additional content might be loaded, or content might be removed to reflect the new dimensions.

The number of grid columns in the layout is dependent on the width of the browser window. The breakpoints are defined as follows:

Width of Browser Window Number of Card Columns Displayed
Less than 656 px 1 column
656 – 975 px 2 columns
976 – 1359 px 3 columns
1360 – 1679 px 4 columns
1680 – 1999 px 5 columns
More than 2000 px 6 columns or more

There is no limitation to the number of columns. You can also design for bigger screens.

Resizable card layout – Size L
Resizable card layout – Size L
Resizable card layout – Size M
Resizable card layout – Size M
Resizable card layout – Size S
Resizable card layout – Size S

Resources

Want to dive deeper? Follow the links below to find out more about the SAP Fiori overview page.

Elements and Controls

Implementation

Status Indicator

The status indicator uses a filled shape to visualize a single value. Unlike the progress indicator or the radial micro chart, the indicator provides the user with a meaningful association through its use of icons. You can embed the status indicator in other controls.

Selection of status indicators
Selection of status indicators

Usage

Use the status indicator if:

  • You need to display a single value with an icon that describes its context.
  • You need to display a single value that can be updated in real time without reloading the page.

Do not use the status indicator if:

  • You need to display a single value within a table. Use the progress indicator or radial micro chart instead.
  • You need to show a rating. Use the rating indicator instead.
  • The status indicator does not provide the user with any meaningful information and would be for decoration only.

Responsiveness

The status indicator provides four different sizes: small (size S), medium (size M), large (size L), and extra-large (size XL).

For the small size, the partial fill is replaced by a fully-filled shape that can only indicate the semantic per threshold reached.

Layout

A status indicator can consist of a scalable vector graphics (SVG) shape and additional information, such as a label. The status indicator can be configured as a shape only (default), or as a shape with a fixed label.

Shape Only

By default, the status indicator consists of a single shape. We recommend using this type of status indicator when you need to display a fraction of a value, rather than a specific value.

Status indicator - Shape only
Status indicator - Shape only

Shape with a Fixed Label

This type of status indicator includes not only a shape, but also a label that uses semantic colors defined for the the value thresholds of the status indicator. In addition, you can switch between different alignment options, such as left, right, top, or bottom. We recommended using this type of status indicator when the user needs to see the exact value.

Status indicator - Shape and label
Status indicator - Shape and label

Types

Linear Fill

Most shapes can be filled linearly. You can set the shape to be filled from the left, right, top, or bottom, or define a specific angle for filling.

Circular Fill

For round shapes, you can use the circular fill.

Filling Sequence

The sequential fill option is useful when the shape consists of multiple parts. You can fill the parts sequentially one by one, or set your own filling order.

Grouping

You can group several shapes together and decide how the filling should be orchestrated among the shapes in this group.

Status indicator grouping
Status indicator grouping

Thresholds

You can set one or more thresholds for each status indicator and assign a color to each threshold. The color changes when a threshold has been exceeded. Only use thresholds and semantic colors if they are meaningful to the user. Do not use them for decoration.

Status indicator tresholds
Status indicator tresholds

Behavior and Interaction

You can define a click event for the status indicator. If the status indicators are grouped, you can define a click event for each status indicator or for the entire group.

Information
When setting a click event for a non-filled shape, we recommend using a darker background color to emphasize that the shape is clickable and not disabled.

Guidelines

Shape Definition

You can download the predefined shapes or create your own custom shapes. For more information on how to create custom shapes correctly, see the API documentation.

Developer Hint
Only circle, rectangle, and path tags are supported inside the SVG file.

Animation Duration

Shape animation follows the motion design principles, with a maximum duration of 250 ms (small moves).

Examples

Status indicator in micro process flow
Status indicator in micro process flow
Status indicator in custom overview page card
Status indicator in custom overview page card
Status indicator in object page header
Status indicator in object page header
Status indicator in tiles
Status indicator in tiles

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation

Network Graph

The network graph displays a large amount of data by highlighting the relationships between individual records. Records are displayed as nodes, and connectors (lines) show the relationships between them. The vivid display of network nodes can highlight non-trivial data discrepancies that would have been previously overlooked.

Sample implementation of a network graph
Sample implementation of a network graph

Usage

Use the network graph if:

  • You need to display a large amount of data and contextual information. Use cases include material management and supply chains, logistics structures, and value chains.
  • You want to display complex nonlinear structures, trees, and generic charts (such as organizational charts).
  • You want to give the data a spatial context.

Do not use the network graph if:

  • You want to visualize a document flow. Use the Process Flow control instead.
  • You want to enable editing of displayed data. Note that the network graph is available in read-only display mode.
  • You need to embed the chart into smaller areas or use it as embedded analytics.

Responsiveness

The network graph is not a responsive control. Only the top bar and popovers are fully responsive. The graph content, including all the groups, nodes and connectors, keeps the same proportions regardless of the screen size. The proportions are changed only with zoom.

Size S
Size S
Size M
Size M
Size L
Size L

Layout

The network graph is split into a header toolbar that contains all the controls, and the chart.

As an extension to this layout, the control can provide a separate column either on the right or left side of the graph. This column contains a chart map to enable users to navigate to a very large structure more easily. The map displays a smaller version of the graph and the corresponding active area. This column can also be extended by other SAP Fiori controls in order to provide users with enhanced application capabilities.

Schematic visualization of a network graph
Schematic visualization of a network graph
Extension panel on the right
Extension panel on the right
Extension panel on the left
Extension panel on the left

Types

The network graph comes with three different layout algorithms:

  • Generic unordered KLay layout
  • Column-based layout displayed as either vertical or horizontal swim lanes
  • Force layout

Each of the layouts can be visualized as a directed or undirected chart. A bi-directional mode is also supported.

Undirected: Data dependency (parent-child) or data flow is not implemented.

Directed: Data dependency is implemented, and different chart orientation can be set. By default, the network graph is oriented left-to-right. Other chart orientations include top-down, center-out, or right-to-left.

Generic unordered KLay
Generic unordered KLay
Column-based layout - Vertical
Column-based layout - Vertical
Column-based layout - Horizontal
Column-based layout - Horizontal
Force layout
Force layout

Components

By default, the network graph is split into the header toolbar area and the graph content. Within the graph content, groups, nodes, and connectors are displayed. All of these elements are interactive and display action menus or popovers with additional information.

Header Toolbar

  • A – Title: Provides a short, meaningful summary of the chart contents.
  • B – Search Field: Standard search component with variant suggestions enabled by default.
  • C – Legend: Toggles the legend on/off.
  • D – Zoom In: Zoom in with both mouse wheel or by clicking the icon.
  • E – Current Zoom Level: Zoom level is expressed as a percentage of the original current chart size.
  • F – Zoom Out: Zoom out with both mouse wheel or clicking the icon.
  • G – Fit to Viewport: The network graph automatically applies a zoom level to fit the whole chart into your viewport.
  • I – Fullscreen: Toggles the full-screen view.

Chart Area

 

Node

A node represents a single record in the underlying dataset comprising multiple field values. You can use two different shapes to represent a node: a rounded rectangle or a circle.

You click a node to select it. A menu is then displayed, which enables you to expand or collapse the connecting chart structure, display a details popover, or a links popover.

Connector

A connector represents the relationship between two records and can be displayed as a straight line or a line with arrows.

You click a connector or the surrounding area to call up the details popover for that specific connector.

Group

A group is a chart element that represents a collection of nodes. A group is envisioned as a slightly larger box containing 1-n nodes. When a group is collapsed it behaves like a node.

Overview of groups
Overview of groups
Network graph toolbar
Network graph toolbar
Overview of nodes
Overview of nodes
Overview of connectors
Overview of connectors
Warning
Following features have not yet been integrated into this version and will come in the next release(s):

  • Icons for rounded rectangular nodes
  • Semantically colored values with different font-weight
  • New visuals for Group statuses
  • Starting Node visualization

Behavior and Interaction

Navigation and Zoom

A user can navigate around the entire network graph by holding down the left mouse button and dragging the mouse. By dragging the graph, the user changes the active area of the available graph map extension. Clicking or dragging the selected area in the graph map extension changes the focus area of the network graph.

To zoom in or out, the user can use the mouse wheel, pinch open or pinch close on the touch devices, or click the respective buttons on the top bar. Each of these actions changes the number label, located between the zoom in and zoom out icon buttons, and indicates the current zoom level.

Fit to Viewport automatically adjusts the zoom level to fit the entire network graph into the user’s viewport.

Component Interaction

Clicking a node displays a menu, which provides the users with the option to collapse the following chart structure, display the details popover, or display the links popover.

Clicking a connector or the area surrounding it calls up the connector’s details popover.

For group interactions, clicking the display details icon button nested in the group heading calls up the group’s details popover (it also contains the list of the nodes included in the group).

Collapsed Structure Indication

In more complex structures, many structures may be hidden within the graph. To indicate collapsed structures, we use a visual indication to represent collapsed structures following the node and collapsed structures within a group.

Partially Expanded Indication

In a directed graph, Expand/Collapse applies only to the subtree directly connected to the selected node. Each node supports a three-state action button for expanding or collapsing:

  • Fully expanded
  • Partially expanded
  • Collapsed

When a user clicks the action button in a fully expanded state, the affected node’s subtree is collapsed, and the action button of that node is indicated as collapsed. All other nodes sharing parts of the subtree with this node and will then be indicated as partially expanded.

When a user clicks the action button in a partially expanded state, the affected node’s subtree is collapsed, and the action button of that node is indicated as collapsed. All other nodes affected by this action are indicated as partially expanded.

When a user clicks the action button in a collapsed state, the affected node’s subtree is expanded and the action button of that node is indicated as expanded.

Node interaction showing 'More' menu and 'Details' popover
Node interaction showing 'More' menu and 'Details' popover
Visual indication of collapsed structure following the node or group
Visual indication of collapsed structure following the node or group
Indication of collapsed, expanded, and partially expanded structures
Indication of collapsed, expanded, and partially expanded structures

Styles

Each node can be visualized with a circle or rounded rectangle shape. These two shapes can be combined inside one graph to provide users with deeper semantic meanings: for example, circular nodes represent customers, whereas rounded rectangles represent suppliers.

Semantic meanings can be assigned to line styles for connectors, and semantic colors can be assigned to both nodes and connectors.

Node Types

As mentioned above, there are two default node shapes: circle or rounded rectangle. In addition, these node shapes have different label and title (icon) positioning.

If needed, the application owner can also define the number of the allowed lines for a node title.

Connector Types

You can give connectors semantic meaning by assigning them semantic colors or different line types. You can also use both semantic colors and different line types to provide connectors with a deeper meaning.

Connector types and their semantics
Connector types and their semantics

Guidelines

In applications, embed the network graph only within components that use the whole canvas area, such as the tab container on the object page. Do not embed the network graph in smaller containers, such as panels, headers, tables, forms, and dialogs.

The network graph is not a substitute for a Process Flow. For more details, see the Usage section at the top of this article.

Keep the amount of information inside each node to a minimum. You can reveal more information via the details popover.

Resources

Want to dive deeper? Follow the links below to find out more about related controls, the SAPUI5 implementation, and the visual design.

Elements and Controls

Implementation