Skip to contents

teal.slice 0.5.1

Bug fixes

  • Fix how the filter panel handles NA values in a Date column.
  • Fix filtering of ordered column to return the right call.
  • Ensure choices are sorted for factor and ordered data types.

Miscellaneous

  • Added teal_slice and teal_slices to package index.
  • Implement mouse-over behavior for the filter card when it is selected.

teal.slice 0.5.0

CRAN release: 2024-02-06

Enhancements

  • Simplified init_filtered_data to accept a named list of datasets. init_filtered_data does not currently handle a list containing dataset, metadata, datalabel and code.

Breaking changes

  • TealData object is no longer supported by teal.slice.
  • set_filter_state no longer accepts a nested list. Use teal_slices() and teal_slice() instead.
  • Renamed FilteredDataset subclass that handles data.frames from DefaultFilteredDataset to DataframeFilteredDataset. Added new class DefaultFilteredDataset that will store any type of object. Filtering will is not supported.

Bug fixes

  • Performs an exact match when determining the default label of a dataset from attributes.

Miscellaneous

  • Specified minimal version of package dependencies.
  • Removed storing and restoring of teal_slices objects.
  • Update documentation and code to reflect the changes due to the refactor of teal.data::JoinKeys into teal.data::join_keys.

teal.slice 0.4.0

New features

  • Filter panel API is now based on teal_slice and teal_slices objects.
  • It is now possible to specify a filter based on an arbitrary logical expression. See expr argument in teal_slice.
  • It is now possible to limit choices in a single filter card. See choices argument in teal_slice.
  • It is now possible to initialize the filter panel without the “Add filter variables” panel through allow_add in teal_slices.
  • It is now possible to set a filter that cannot be removed by the app user. See anchored argument in teal_slice.
  • It is now possible to set a filter whose selection cannot be changed. See fixed argument in teal_slice.
  • It is now possible to limit choices within a variable to a single value only. See multiple argument in teal_slice .
  • Changed appearance of filter cards to a collapsible accordion.
  • Replaced sliderInput with interactive plotly chart 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_type argument in teal_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_slices and teal_slice instead.
  • Removed CDISCFilteredData and CDISCFilteredDataset and implementing JoinKeys handling in their parent classes (FilteredData and DefaultFilteredDataset).
  • Specifying set of filterable columns is done through include_varnames and exclude_varnames in teal_slices. Specifying attr(, "filterable") is hard deprecated.
  • Removed private fields $code and $check from FilteredData class and made appropriate changes to constructor and init_filtered_data.

teal.slice 0.3.0

  • Examples now use scda.2022 instead of scda.2021.
  • Transferred data hashing step in FilteredDataset to teal.
  • Removed constructor of Queue class.

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.

Enhancements

  • Improved filter state presentation in FilterState$format.

Bug fixes

  • Fixed an error where the RangeFilterState produced an error when using bootstrap 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 RangeFilterState now uses checkmate::test_integerish instead of is.integer.
  • Updated init_filtered_data to take into account the removal of CDISCTealData from teal.data package.
  • Added shinyvalidate validation for Date and Date time ranges.
  • Added examples apps for FilterState child classes and DFFilterStates.

teal.slice 0.2.0

New features

  • Added set_filterable_varnames method to FilteredData and FilteredDataset objects so that there is control over which variables can be filtered.
  • Added support for custom bslib bootstrap themes via the teal.bs_theme option. See the teal vignette teal-bs-themses for more information.
  • Removed CDISCFilteredDataset class and functionality moved to CDISCFilteredData.
  • Changed constructor of FilteredData to not require TealData object. See help(init_filtered_data) for more details.
  • The filtered data is now stored in FilteredData not FilteredDataset.
  • The join keys stored inside FilteredData are now JoinKeys objects.
  • Updated get_filter_state to return a list of active filter states and an attribute with the character form of the filter states.
  • Updated the get_varlabels method for FilterStates classes. It now accepts a vector input.
  • Exported S3 generic function init_filter_states so that it can be used in other packages.
  • Added a FilterPanelAPI class 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 FilteredData method get_formatted_filter_state so it no longer appends empty filters.
  • Added clearer installation instructions to README.

Breaking changes

  • Renamed internal S3 method get_filterable_varnames to get_supported_filter_varnames.

Bug fixes

  • Fixed a bug when the filter panel overview would not refresh if the panel was hidden during a transition between active modules.
  • Fixed a bug in FilterState where sliderInput step values were too precise.

teal.slice 0.1.1

New features

  • Added a formatting function for filter panel classes.

Miscellaneous

  • Added a template to the pkgdown site.
  • Updated package authors.
  • Added package vignettes.

Fix

  • Fixed a bug in FilteredDataset, where launching a shiny application without FilteredData would not attach the appropriate CSS files.

teal.slice 0.1.0

  • Initial release of teal.slice - a package providing a filter module for teal applications.

Changes (from behavior when functionality was part of teal)

Breaking changes

  • default_filter has been deprecated - use list() 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 RangeFilterState where put to either end of the allowed range in the UI.

Miscellaneous

  • Added is_any_filtered method to all FilterState classes 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.
  • FilteredData now stores whether its datasets had a reproducibility check or not via two new methods to its class: set_check and get_check.