Changelog
Source:NEWS.md
teal.slice 0.7.0
CRAN release: 2025-08-20
Bug fixes
- Fix bug where drop-down choices show no choices (#662).
Miscellaneous
- In R6 classes
finalize()method is moved to private and is replaced in public API bydestroy()(#658).
teal.slice 0.6.0
CRAN release: 2025-02-03
Enhancements
- Reduced the space of the filter panel by not displaying the “add filters” UI in a separate panel.
- The deprecated parameters
codeandcheckwere removed frominit_filtered_data().
Bug fixes
- Fix error while creating the filter choices when the data has a factor with a level containing an empty string (““).
Breaking changes
-
ui_addandsrv_addno longer exist as adding new filters is a part ofui_activeandsrv_active.
Miscellaneous
-
print.teal_slice()andprint.teal_slices()now return object invisibly.
teal.slice 0.5.1
CRAN release: 2024-04-30
teal.slice 0.5.0
CRAN release: 2024-02-06
Enhancements
- Simplified
init_filtered_datato accept a named list of datasets.init_filtered_datadoes not currently handle a list containingdataset,metadata,datalabelandcode.
Breaking changes
-
TealDataobject is no longer supported byteal.slice. -
set_filter_stateno longer accepts a nested list. Useteal_slices()andteal_slice()instead. - Renamed
FilteredDatasetsubclass that handlesdata.frames fromDefaultFilteredDatasettoDataframeFilteredDataset. Added new classDefaultFilteredDatasetthat will store any type of object. Filtering will is not supported.
Miscellaneous
- Specified minimal version of package dependencies.
- Removed storing and restoring of
teal_slicesobjects. - Update documentation and code to reflect the changes due to the refactor of
teal.data::JoinKeysintoteal.data::join_keys.
teal.slice 0.4.0
New features
- Filter panel API is now based on
teal_sliceandteal_slicesobjects. - It is now possible to specify a filter based on an arbitrary logical expression. See
exprargument inteal_slice. - It is now possible to limit choices in a single filter card. See
choicesargument inteal_slice. - It is now possible to initialize the filter panel without the “Add filter variables” panel through
allow_addinteal_slices. - It is now possible to set a filter that cannot be removed by the app user. See
anchoredargument inteal_slice. - It is now possible to set a filter whose selection cannot be changed. See
fixedargument inteal_slice. - It is now possible to limit choices within a variable to a single value only. See
multipleargument inteal_slice. - Changed appearance of filter cards to a collapsible accordion.
- Replaced
sliderInputwith interactiveplotlychart to allow the user to zoom in on the variable distribution. - Implemented reactive counts in single filter cards to compare filtered and unfiltered variable distributions. See
count_typeargument inteal_slices. - Added state history: individual filter states track changes so the user can rewind them or reset the initial state.
Breaking changes
- Setting filters using a list is now deprecated. Use
teal_slicesandteal_sliceinstead. - Removed
CDISCFilteredDataandCDISCFilteredDatasetand implementingJoinKeyshandling in their parent classes (FilteredDataandDefaultFilteredDataset). - Specifying set of filterable columns is done through
include_varnamesandexclude_varnamesinteal_slices. Specifyingattr(, "filterable")is hard deprecated. - Removed private fields
$codeand$checkfromFilteredDataclass and made appropriate changes to constructor andinit_filtered_data.
teal.slice 0.3.0
- Examples now use
scda.2022instead ofscda.2021. - Transferred data hashing step in
FilteredDatasettoteal. - Removed constructor of
Queueclass.
New features
- Added a global turn on/off button for the Filter Panel.
- Added ability to collapse Active Filter Display panel.
- Added ability to collapse all filters of an individual dataset.
- Added fixed filter states.
Bug fixes
- Fixed an error where the
RangeFilterStateproduced an error when usingbootstrap 4. - Fixed a bug that caused the range slider to omit values selected by the filter API.
- Fixed a bug where setting incorrect values for Date and Date time ranges caused the app to crash.
Miscellaneous
- Calculation of step in slider for
RangeFilterStatenow usescheckmate::test_integerishinstead ofis.integer. - Updated
init_filtered_datato take into account the removal ofCDISCTealDatafromteal.datapackage. - Added
shinyvalidatevalidation for Date and Date time ranges. - Added examples apps for
FilterStatechild classes andDFFilterStates.
teal.slice 0.2.0
New features
- Added
set_filterable_varnamesmethod toFilteredDataandFilteredDatasetobjects so that there is control over which variables can be filtered. - Added support for custom
bslibbootstrap themes via theteal.bs_themeoption. See thetealvignetteteal-bs-themsesfor more information. - Removed
CDISCFilteredDatasetclass and functionality moved toCDISCFilteredData. - Changed constructor of
FilteredDatato not requireTealDataobject. Seehelp(init_filtered_data)for more details. - The filtered data is now stored in
FilteredDatanotFilteredDataset. - The join keys stored inside
FilteredDataare nowJoinKeysobjects. - Updated
get_filter_stateto return a list of active filter states and an attribute with the character form of the filter states. - Updated the
get_varlabelsmethod forFilterStatesclasses. It now accepts a vector input. - Exported
S3generic functioninit_filter_statesso that it can be used in other packages. - Added a
FilterPanelAPIclass to encapsulate the API of a filter panel.
Enhancements
- Redesigned the count bars for filter panel check box inputs.
- Redesigned the filter panel input for dates to use
CSS flexbox. - Update icons to be compatible with Font Awesome 6.
- Updates the
FilteredDatamethodget_formatted_filter_stateso it no longer appends empty filters. - Added clearer installation instructions to
README.
teal.slice 0.1.1
teal.slice 0.1.0
- Initial release of
teal.slice- a package providing a filter module fortealapplications.
Changes (from behavior when functionality was part of teal)
Breaking changes
-
default_filterhas been deprecated - uselist()instead for a default filter.
Bug fixes
- Add counts to filtering categorical variables bar charts in the filtering panel in cases where they were missing.
- Fixed a bug causing an error when both sliders of
RangeFilterStatewhere put to either end of the allowed range in theUI.
Miscellaneous
- Added
is_any_filteredmethod to allFilterStateclasses to detect if selected values actually filters out any data. This is used to decide if an explicit filter statement is added to the call. - The filter panel now displays a helpful message when data has no rows or columns in place of an empty drop down widget.
-
FilteredDatanow stores whether its datasets had a reproducibility check or not via two new methods to its class:set_checkandget_check.