module_filter_data: Filter panel module in teal

module_filter_dataR Documentation

Filter panel module in teal

Description

Creates filter panel module from teal_data object and returns teal_data. It is build in a way filter panel recalculates data only when filter-panel-state or loaded-data changes and when panel is visible. Thanks to this special implementation all modules' data are recalculated only for those modules which are currently displayed.

Usage

ui_filter_data(id)

srv_filter_data(id, datasets, active_datanames, data, is_active)

.make_filtered_teal_data(modules, data, datasets = NULL, datanames)

.observe_active_filter_changed(datasets, is_active, active_datanames, data)

.get_filter_expr(datasets, datanames)

Arguments

id

(character(1)) shiny module instance id.

datasets

(reactive returning FilteredData or NULL) When datasets is passed from the parent module (srv_teal) then dataset is a singleton which implies the filter-panel to be "global". When NULL then filter-panel is "module-specific".

active_datanames

(reactive returning character) this module's data names

data

(reactive returning teal_data)

modules

(teal_modules) teal_modules object. These are the specific output modules which will be displayed in the teal application. See modules() and module() for more details.

Value

A eventReactive containing teal_data containing filtered objects and filter code. eventReactive triggers only if all conditions are met:

  • tab is selected (is_active)

  • when filters are changed (get_filter_expr is different than previous)


teal documentation built on June 30, 2026, 5:11 p.m.