Linkr
Home Resources Tools Documentation Blog Demo
FR
  • What is Linkr?
  • Deployment modes
  • Quick start
  • Local install
  • With Docker
  • Manual install
  • Client-only
  • Your first project
  • Workspaces and projects
  • The data pipeline
  • Entities and sharing
  • Versioning and collaboration
  • Overview
  • Projects
  • Wiki
  • Plugins
  • Members and roles
  • Settings
  • Schemas
  • Databases
  • Derived sub-databases
  • Data quality
  • Data catalog
  • SQL script collections
  • ETL pipelines
  • Overview
  • Mapping projects
  • Global view
  • Target concepts
  • Mapping editor
  • Suggestions
  • Evaluation
  • Export
  • Overview
  • Concepts
  • Cohorts
  • Patient data
  • Pipeline
  • Datasets
  • IDE
  • Web apps
  • Versioning
  • Overview
  • Tabs and widgets
  • Built-in widgets
  • Analysis widgets
  • Control charts (SPC)
  • Surveys and eCRF
  • R and Python code
  • Filters, settings and export
  • Overview
  • Presentation mode
  • Exporting a report
  • Agents
  • Model providers
  • Skills
  • Authoring through MCP
  • Import and export
  • Git versioning
  • Community catalog
  • Publishing content
  • Production install
  • Configuration
  • Authentication and permissions
  • Files on the server
  • Backup and restore
  • Glossary
  • Keyboard shortcuts
  • Release notes
Documentation Dashboards Tabs and widgets

Tabs and widgets

Organise a dashboard into tabs and sub-tabs, add widgets, and position them on the grid.

Summary

Tabs group widgets by theme; a tab can hold sub-tabs. A widget comes either from a plugin in the catalogue or from your own code; you configure it with a live preview. Widgets then sit on a grid where you move and resize them in edit mode.

Client Available in client-only mode — runs entirely in the browser, no backend. Backend Backend (FastAPI) under development.

Tabs

A tab is a page of the dashboard. Create as many as you have themes to separate — say a Demographics tab, a Labs tab, a Stays tab. The + button that adds a tab only appears in edit mode — the Edit button in the toolbar, which becomes Done once active. In edit mode each tab can be renamed and reordered, and the button reads “Add a sub-tab” when you are already inside a parent tab.

Tabs and sub-tabs

A tab can hold sub-tabs (one level of nesting). As soon as a tab has sub-tabs, it becomes a container: it no longer holds widgets itself — its sub-tabs do. Handy for grouping several related views under one heading.

demo.linkr.interhop.org
Labs
A tab that has sub-tabs becomes a container. The breadcrumb on the left (home › Labs ›) takes you back to the top level; the sub-tabs follow it on the same line.
The 'Labs' tab is a container: its widgets live in the Haematology, Biochemistry and Blood gas sub-tabs.

Adding a widget

Switch to edit mode, then inside a tab (or a sub-tab) click Add a widget — that button only appears in edit mode. The dialog first asks for a name and a dataset (the data the widget will work on), then offers two ways to produce the content, shown as tabs:

demo.linkr.interhop.org

Add a widget

Choose a widget to add to the active tab.

Enter a name…
table_agregee.csv
PluginCustom code
Search a plugin…
Plot builder

Scatter, line, bar, histogram, boxplot, violin.

Built-inv1.0.0
Key indicator

Aggregate value, icon and optional mini-chart.

Built-inv1.0.0
Table 1

Descriptive statistics: counts, %, means, medians, IQR.

Built-inv1.0.0
Survival analysis

Kaplan-Meier: curves, log-rank, median, at-risk table.

Built-inv1.0.0
The 'Add a widget' dialog: name, dataset, then the plugin catalogue (Plugin tab) or the code editor (Custom code tab).
  • Plugin — pick a widget from a catalogue. Linkr ships a library of ready-made plugins (Descriptive table, key indicator, plots, survival, regression…), marked with a Built-in badge. The details are on the Built-in widgets page. You can also install your own plugins (see Build a plugin).
  • Custom code — write your own R or Python code for bespoke output (see R and Python code).

Several datasets in one dashboard

Each widget works on one dataset, but a dashboard is not limited to a single one: different widgets can rely on different datasets. You pick each widget’s dataset when you create it. To avoid re-selecting it every time, a dashboard can define a default dataset applied to new widgets (see Settings).

One filter, several datasets

If two widgets rely on different datasets but share a column with the same name, a filter defined on that column automatically applies to both. See the Filters page.

Configuring a widget

Once you’ve chosen the source, you configure the widget. The screen splits in two: on the left, the settings form (grouped into collapsible sections — Data, Content, Style…); on the right, a live preview that updates with every change.

demo.linkr.interhop.org

Key indicator

Configure the plugin's settings before adding it.

BackAdd widget
Key indicator
table_agregee.csv
Data
birthweight_g
Content
Mean
1
Mini-chart
Style

Live preview

Mean — birthweight_g

2 691,4

n = 3,558

Configuring a 'Key indicator' widget: settings on the left (column, statistic…), live preview on the right.

The available settings depend on the chosen plugin. For a key indicator, for instance, you pick the column to summarise, the statistic (mean, median, sum, proportion…), the number of decimals, and what makes up the subtitle. The preview shows the result on your data right away. Confirm with Add widget: it lands at the bottom of the current tab.

The Custom code tab works on the same principle, but instead of a form you get a code editor: you write Python (or R, or SQL) and the preview shows the result on the right.

demo.linkr.interhop.org
Custom python
table_agregee.csv
Code Run
1import matplotlib.pyplot as plt
2
3ax = dataset["age"].hist(bins=20)
4ax.set_xlabel("Age")
5plt.show()
Preview: 358 × 230 px24 × 12 cells

Age

A 'Custom code' widget: the Python editor on the left, the result preview on the right.

All of this — languages, data access, output types — is covered on the dedicated R and Python code page.

Widgets follow the filters

Whatever the widget type, as soon as a filter changes, the widget recomputes automatically — both in the preview and on the dashboard. There’s nothing special for you to handle. See the Filters page.

The grid: move and resize

Widgets sit on a responsive grid. By default the layout is locked to avoid accidental moves. Turn on edit mode — the Edit button in the toolbar — to rearrange:

demo.linkr.interhop.org
Resizing…
In edit mode, drag a widget to move it and stretch its corner to resize it.
  • Move — drag the widget’s body to reposition it in the grid.
  • Resize — grab the handle in the bottom-right corner of the widget and drag; the others reflow around it.

Width is expressed in grid columns and height in rows. A single dashboard can mix compact indicators (one cell) and large charts (full width).

Fit to screen height

By default, row height adapts so the tab fits the visible area without scrolling — useful in fullscreen. You can turn this off in the settings to go back to a fixed row height with scrolling.

PreviousOverviewNextBuilt-in widgets

Product

  • Home
  • Demo

Resources

  • Documentation
  • Resources
  • Tools
  • Blog

Community

  • Framagit source code
  • Github source code

About

  • InterHop.org
  • Contact

2021–2026 InterHop — CC BY-NC-SA 4.0 (site) · GPLv3 (software)