insightsengineering / insightsengineering/teal.modules.general
[Bug]: Variable browser plot settings do not update and improper date axis
- Dominant language
- R
- Stars
- 16
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
### What happened?
## Reprex:
```
library(teal)
library(teal.modules.general)
data <- teal_data()
data <- within(data, {
ADSL <- teal.data::rADSL
})
app <- init(
data = data,
modules = modules(
tm_variable_browser(
label = "Variable browser"
)
)
)
if (interactive()) {
shinyApp(app$ui, app$server)
}
```
## Steps to reproduce
1. Open the Plot Settings accordion panel
2. Try to adjust theme, font size, or x-axis rotation inputs, e.g., I have selected dark theme, font size 26, and rotation 7 for axis labels.
3. Observe that the plot refreshes but updates do not take place:
4. Separately, select a date variable, such as `RANDDT`
5. Observe that the axis tick labels are numeric instead of date/character:
### sessionInfo()
```R
R version 4.5.0 (2025-04-11 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 11 x64 (build 26200)
Matrix products: default
LAPACK version 3.12.1
locale:
[1] LC_COLLATE=English_United States.utf8
[2] LC_CTYPE=English_United States.utf8
[3] LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.utf8
time zone: America/New_York
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_1.2.1 teal.modules.general_0.8.0
[3] teal.transform_0.7.2 teal.picks_0.3.0
[5] ggplot2_4.0.3 teal_1.2.1
[7] teal.slice_0.8.2 teal.data_0.8.1
[9] teal.code_0.7.2 shiny_1.14.0
loaded via a namespace (and not attached):
[1] gtable_0.3.6 sparkline_2.0 xfun_0.60
[4] bslib_0.11.0 shinyjs_2.1.1 htmlwidgets_1.6.4
[7] teal.widgets_0.7.0 lattice_0.22-6 vctrs_0.7.3
[10] tools_4.5.0 crosstalk_1.2.2 generics_0.1.4
[13] tibble_3.3.1 pkgconfig_2.0.3 checkmate_2.3.4
[16] RColorBrewer_1.1-3 S7_0.2.2 lifecycle_1.0.5
[19] compiler_4.5.0 farver_2.1.2 stringr_1.6.0
[22] textshaping_1.0.5 fontawesome_0.5.3 httpuv_1.6.17
[25] shinyWidgets_0.9.1 htmltools_0.5.9 sass_0.4.10
[28] yaml_2.3.12 later_1.4.8 pillar_1.11.1
[31] jquerylib_0.1.4 tidyr_1.3.2 DT_0.34.0
[34] cachem_1.1.0 mime_0.13 tidyselect_1.2.1
[37] digest_0.6.39 stringi_1.8.7 purrr_1.2.2
[40] labeling_0.4.3 forcats_1.0.1 fastmap_1.2.0
[43] grid_4.5.0 cli_3.6.6 logger_0.4.2
[46] magrittr_2.0.5 bsicons_0.1.2 broom_1.0.13
[49] withr_3.0.3 teal.reporter_0.6.3 scales_1.4.0
[52] promises_1.5.0 backports_1.5.1 otel_0.2.0
[55] ragg_1.5.2 memoise_2.0.1 evaluate_1.0.5
[58] knitr_1.51 shinycssloaders_1.1.0 rlang_1.3.0
[61] Rcpp_1.1.2 xtable_1.8-8 glue_1.8.1
[64] formatR_1.14 jsonlite_2.0.0 teal.logger_0.4.2
[67] R6_2.6.1 systemfonts_1.3.2 fs_2.1.0
```
### Relevant log output
```R
Listening on http://127.0.0.1:7347
Browsing http://127.0.0.1:7347
Warning in module(childScope$input, childScope$output, childScope, ...) :
Automatic lockfile creation disabled. `mirai` and `renv` packages must be installed.
Active module changed: app="teal app", module="Variable browser"
Warning in module(childScope$input, childScope$output, childScope, ...) :
Automatic lockfile creation disabled. `mirai` and `renv` packages must be installed.
Active module changed: app="teal app", module="Variable browser"
```
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct.
### Contribution Guidelines
- [x] I agree to follow this project's Contribution Guidelines.
### Security Policy
- [x] I agree to follow this project's Security Policy.
Contributor guide
Research direction
Start by running the supplied R reprex and opening the Variable browser's Plot Settings panel. Check why theme, font-size, and x-axis rotation changes do not affect the plot, then reproduce the RANDDT case; done means settings visibly update and date-axis tick labels render as dates or characters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- data-visualization, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100