teal.slice 0.6.0
Enhancements
- Reduced the space of the filter panel by not displaying the “add
filters” UI in a separate panel.
- The deprecated parameters
code
and check
were removed from init_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_add
and srv_add
no longer exist as
adding new filters is a part of ui_active
and
srv_active
.
Miscellaneous
print.teal_slice()
and print.teal_slices()
now return object invisibly.
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
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.frame
s 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
.