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.
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)
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)
(character(1)) shiny module instance id.
(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".
(reactive returning character) this module's data names
(reactive returning teal_data)
(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.