From 41fb64440fd04fc1e8b59d949b8ecb899d2b3c22 Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 11:08:38 +0200 Subject: [PATCH 01/10] various docs enhancements --- R/basic_table_args.R | 4 ++-- R/ggplot2_args.R | 2 +- R/optionalInput.R | 4 ++-- R/standard_layout.R | 4 ++-- R/teal.widgets-package.R | 4 ++-- man/optionalSliderInputValMinMax.Rd | 4 ++-- man/parse_basic_table_args.Rd | 2 +- man/resolve_basic_table_args.Rd | 2 +- man/resolve_ggplot2_args.Rd | 2 +- man/standard_layout.Rd | 2 +- man/teal.widgets-package.Rd | 4 ++-- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/R/basic_table_args.R b/R/basic_table_args.R index e3d28394..09de20b3 100644 --- a/R/basic_table_args.R +++ b/R/basic_table_args.R @@ -46,7 +46,7 @@ basic_table_args <- function(...) { #' module creator setup for [rtables::basic_table()] of a specific table. #' Created with the [basic_table_args()] function. The `NULL` value is supported. #' @param app_default (`basic_table_args`)\cr -#' teal option variable. The `NULL` value is supported. +#' an option variable. The `NULL` value is supported. #' #' @return `basic_table_args` object. #' @details @@ -102,7 +102,7 @@ resolve_basic_table_args <- function(user_table = basic_table_args(), #' user_default = basic_table_args(title = "DEFAULT_TITLE", subtitles = "SUBTITLE") #' ) #' ) -parse_basic_table_args <- function(basic_table_args = teal.widgets::basic_table_args()) { +parse_basic_table_args <- function(basic_table_args = basic_table_args()) { checkmate::assert_class(basic_table_args, "basic_table_args", null.ok = TRUE) if (length(basic_table_args) == 0) { diff --git a/R/ggplot2_args.R b/R/ggplot2_args.R index 62b6388e..e644a198 100644 --- a/R/ggplot2_args.R +++ b/R/ggplot2_args.R @@ -61,7 +61,7 @@ ggplot2_args <- function(labs = list(), theme = list()) { #' module creator setup for theme and labs in the specific plot. #' Created with the [ggplot2_args()] function. The `NULL` value is supported. #' @param app_default (`ggplot2_args`)\cr -#' teal option variable. The `NULL` value is supported. +#' an option variable. The `NULL` value is supported. #' #' @return `ggplot2_args` object. #' diff --git a/R/optionalInput.R b/R/optionalInput.R index 8881dc03..b4503112 100644 --- a/R/optionalInput.R +++ b/R/optionalInput.R @@ -421,12 +421,12 @@ optionalSliderInput <- function(inputId, label, min, max, value, label_help = NU } } -#' For teal modules we parameterize an \code{optionalSliderInput} with one argument +#' For `teal` modules we parameterize an \code{optionalSliderInput} with one argument #' \code{value_min_max} #' #' @description `r lifecycle::badge("stable")` #' The [optionalSliderInput()] function needs three arguments to decided -#' whether to hide the `sliderInput` widget or not. For teal modules we specify an +#' whether to hide the `sliderInput` widget or not. For `teal` modules we specify an #' optional slider input with one argument here called `value_min_max`. #' #' @inheritParams optionalSliderInput diff --git a/R/standard_layout.R b/R/standard_layout.R index 33f9cb64..7bf29460 100644 --- a/R/standard_layout.R +++ b/R/standard_layout.R @@ -2,7 +2,7 @@ #' the left #' #' @description `r lifecycle::badge("stable")` -#' This is the layout used for the teal modules in the `beam` package +#' This is the layout used for the `teal` modules. #' #' @param output (`shiny.tag`)\cr #' object with the output element (table, plot, listing) such as for example returned @@ -35,7 +35,7 @@ standard_layout <- function(output, "post_output" = post_output ))) { if (!is.null(l[[name]]) && !inherits(l[[name]], c("shiny.tag", "shiny.tag.list", "html"))) { - stop(paste(name, "is supposed to be NULL, shiny.tag or shiny.tag.list.")) + stop(paste(name, "is supposed to be `NULL`, `shiny.tag` or `shiny.tag.list`.")) } } diff --git a/R/teal.widgets-package.R b/R/teal.widgets-package.R index 0ba90998..67715cb3 100644 --- a/R/teal.widgets-package.R +++ b/R/teal.widgets-package.R @@ -1,7 +1,7 @@ -#' teal.widgets: Custom widgets for teal applications +#' `teal.widgets`: Custom widgets for `teal` applications #' #' The `teal.widgets` package contains functionalities that can be used -#' for teal module development. The Package is dedicated to allow developers to extend modules +#' for `teal` module development. The package is dedicated to allow developers to extend modules #' functionality by additional inputs and output controls. #' #' @keywords internal diff --git a/man/optionalSliderInputValMinMax.Rd b/man/optionalSliderInputValMinMax.Rd index da06eb01..63520c86 100644 --- a/man/optionalSliderInputValMinMax.Rd +++ b/man/optionalSliderInputValMinMax.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/optionalInput.R \name{optionalSliderInputValMinMax} \alias{optionalSliderInputValMinMax} -\title{For teal modules we parameterize an \code{optionalSliderInput} with one argument +\title{For \code{teal} modules we parameterize an \code{optionalSliderInput} with one argument \code{value_min_max}} \usage{ optionalSliderInputValMinMax( @@ -31,7 +31,7 @@ an object of class \code{shiny.tag}. E.g. an object returned by \code{\link[shin \description{ \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} The \code{\link[=optionalSliderInput]{optionalSliderInput()}} function needs three arguments to decided -whether to hide the \code{sliderInput} widget or not. For teal modules we specify an +whether to hide the \code{sliderInput} widget or not. For \code{teal} modules we specify an optional slider input with one argument here called \code{value_min_max}. } \examples{ diff --git a/man/parse_basic_table_args.Rd b/man/parse_basic_table_args.Rd index 4d15aeeb..5469481a 100644 --- a/man/parse_basic_table_args.Rd +++ b/man/parse_basic_table_args.Rd @@ -4,7 +4,7 @@ \alias{parse_basic_table_args} \title{Parses \code{basic_table_args} object into the \code{basic_table} expression} \usage{ -parse_basic_table_args(basic_table_args = teal.widgets::basic_table_args()) +parse_basic_table_args(basic_table_args = basic_table_args()) } \arguments{ \item{basic_table_args}{(\code{basic_table_args})\cr diff --git a/man/resolve_basic_table_args.Rd b/man/resolve_basic_table_args.Rd index 22b93d9f..aeb566e7 100644 --- a/man/resolve_basic_table_args.Rd +++ b/man/resolve_basic_table_args.Rd @@ -25,7 +25,7 @@ module creator setup for \code{\link[rtables:basic_table]{rtables::basic_table() Created with the \code{\link[=basic_table_args]{basic_table_args()}} function. The \code{NULL} value is supported.} \item{app_default}{(\code{basic_table_args})\cr -teal option variable. The \code{NULL} value is supported.} +an option variable. The \code{NULL} value is supported.} } \value{ \code{basic_table_args} object. diff --git a/man/resolve_ggplot2_args.Rd b/man/resolve_ggplot2_args.Rd index edbe163e..71f46ce3 100644 --- a/man/resolve_ggplot2_args.Rd +++ b/man/resolve_ggplot2_args.Rd @@ -25,7 +25,7 @@ module creator setup for theme and labs in the specific plot. Created with the \code{\link[=ggplot2_args]{ggplot2_args()}} function. The \code{NULL} value is supported.} \item{app_default}{(\code{ggplot2_args})\cr -teal option variable. The \code{NULL} value is supported.} +an option variable. The \code{NULL} value is supported.} } \value{ \code{ggplot2_args} object. diff --git a/man/standard_layout.Rd b/man/standard_layout.Rd index da32d465..1c95cd82 100644 --- a/man/standard_layout.Rd +++ b/man/standard_layout.Rd @@ -36,5 +36,5 @@ an object of class \code{shiny.tag} with the UI code. } \description{ \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} -This is the layout used for the teal modules in the \code{beam} package +This is the layout used for the \code{teal} modules. } diff --git a/man/teal.widgets-package.Rd b/man/teal.widgets-package.Rd index ed7ccf8c..c1cf342f 100644 --- a/man/teal.widgets-package.Rd +++ b/man/teal.widgets-package.Rd @@ -4,10 +4,10 @@ \name{teal.widgets-package} \alias{teal.widgets} \alias{teal.widgets-package} -\title{teal.widgets: Custom widgets for teal applications} +\title{\code{teal.widgets}: Custom widgets for \code{teal} applications} \description{ The \code{teal.widgets} package contains functionalities that can be used -for teal module development. The Package is dedicated to allow developers to extend modules +for \code{teal} module development. The package is dedicated to allow developers to extend modules functionality by additional inputs and output controls. } \author{ From 22d64a3b6f3327a2f72dcfd20ff43d7b9a2e97e0 Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 12:00:10 +0200 Subject: [PATCH 02/10] fix tests; add grDevices to suggests; review comments --- DESCRIPTION | 1 + R/basic_table_args.R | 4 ++-- R/ggplot2_args.R | 2 +- R/standard_layout.R | 2 +- man/parse_basic_table_args.Rd | 2 +- man/resolve_basic_table_args.Rd | 2 +- man/resolve_ggplot2_args.Rd | 2 +- man/standard_layout.Rd | 2 +- .../pws-download_menu.png | Bin 17010 -> 9534 bytes .../plot_with_settings_ui/pws-hidden.png | Bin 1431 -> 937 bytes .../plot_with_settings_ui/pws-resize_menu.png | Bin 20770 -> 11850 bytes .../plot_with_settings_ui/pws-visible.png | Bin 9462 -> 4861 bytes tests/testthat/helpers-with-settings.R | 8 ++++---- tests/testthat/test-plot_with_settings_ui.R | 4 ++-- tests/testthat/test-standard_layout.R | 10 +++++----- 15 files changed, 20 insertions(+), 19 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index d267f11d..f4304708 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -29,6 +29,7 @@ Imports: shinyWidgets, styler Suggests: + grDevices, knitr, lattice, magrittr, diff --git a/R/basic_table_args.R b/R/basic_table_args.R index 09de20b3..44ef3779 100644 --- a/R/basic_table_args.R +++ b/R/basic_table_args.R @@ -46,7 +46,7 @@ basic_table_args <- function(...) { #' module creator setup for [rtables::basic_table()] of a specific table. #' Created with the [basic_table_args()] function. The `NULL` value is supported. #' @param app_default (`basic_table_args`)\cr -#' an option variable. The `NULL` value is supported. +#' Application level setting. Can be `NULL`. #' #' @return `basic_table_args` object. #' @details @@ -102,7 +102,7 @@ resolve_basic_table_args <- function(user_table = basic_table_args(), #' user_default = basic_table_args(title = "DEFAULT_TITLE", subtitles = "SUBTITLE") #' ) #' ) -parse_basic_table_args <- function(basic_table_args = basic_table_args()) { +parse_basic_table_args <- function(basic_table_args = teal.widgets::basic_table_args()) { checkmate::assert_class(basic_table_args, "basic_table_args", null.ok = TRUE) if (length(basic_table_args) == 0) { diff --git a/R/ggplot2_args.R b/R/ggplot2_args.R index e644a198..dfb2e837 100644 --- a/R/ggplot2_args.R +++ b/R/ggplot2_args.R @@ -61,7 +61,7 @@ ggplot2_args <- function(labs = list(), theme = list()) { #' module creator setup for theme and labs in the specific plot. #' Created with the [ggplot2_args()] function. The `NULL` value is supported. #' @param app_default (`ggplot2_args`)\cr -#' an option variable. The `NULL` value is supported. +#' Application level setting. Can be `NULL`. #' #' @return `ggplot2_args` object. #' diff --git a/R/standard_layout.R b/R/standard_layout.R index 7bf29460..d70be086 100644 --- a/R/standard_layout.R +++ b/R/standard_layout.R @@ -2,7 +2,7 @@ #' the left #' #' @description `r lifecycle::badge("stable")` -#' This is the layout used for the `teal` modules. +#' This is the layout used by the `teal` modules. #' #' @param output (`shiny.tag`)\cr #' object with the output element (table, plot, listing) such as for example returned diff --git a/man/parse_basic_table_args.Rd b/man/parse_basic_table_args.Rd index 5469481a..4d15aeeb 100644 --- a/man/parse_basic_table_args.Rd +++ b/man/parse_basic_table_args.Rd @@ -4,7 +4,7 @@ \alias{parse_basic_table_args} \title{Parses \code{basic_table_args} object into the \code{basic_table} expression} \usage{ -parse_basic_table_args(basic_table_args = basic_table_args()) +parse_basic_table_args(basic_table_args = teal.widgets::basic_table_args()) } \arguments{ \item{basic_table_args}{(\code{basic_table_args})\cr diff --git a/man/resolve_basic_table_args.Rd b/man/resolve_basic_table_args.Rd index aeb566e7..22a8ff55 100644 --- a/man/resolve_basic_table_args.Rd +++ b/man/resolve_basic_table_args.Rd @@ -25,7 +25,7 @@ module creator setup for \code{\link[rtables:basic_table]{rtables::basic_table() Created with the \code{\link[=basic_table_args]{basic_table_args()}} function. The \code{NULL} value is supported.} \item{app_default}{(\code{basic_table_args})\cr -an option variable. The \code{NULL} value is supported.} +Application level setting. Can be \code{NULL}.} } \value{ \code{basic_table_args} object. diff --git a/man/resolve_ggplot2_args.Rd b/man/resolve_ggplot2_args.Rd index 71f46ce3..6806b8f8 100644 --- a/man/resolve_ggplot2_args.Rd +++ b/man/resolve_ggplot2_args.Rd @@ -25,7 +25,7 @@ module creator setup for theme and labs in the specific plot. Created with the \code{\link[=ggplot2_args]{ggplot2_args()}} function. The \code{NULL} value is supported.} \item{app_default}{(\code{ggplot2_args})\cr -an option variable. The \code{NULL} value is supported.} +Application level setting. Can be \code{NULL}.} } \value{ \code{ggplot2_args} object. diff --git a/man/standard_layout.Rd b/man/standard_layout.Rd index 1c95cd82..33f8437a 100644 --- a/man/standard_layout.Rd +++ b/man/standard_layout.Rd @@ -36,5 +36,5 @@ an object of class \code{shiny.tag} with the UI code. } \description{ \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} -This is the layout used for the \code{teal} modules. +This is the layout used by the \code{teal} modules. } diff --git a/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-download_menu.png b/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-download_menu.png index 8d536f42855fbf8097c2a2d2297e1c2f21ea9dbd..61923a70fdcba47690b59fe22a068746e227e096 100644 GIT binary patch literal 9534 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 NH5DyniIQ3H{{T*={M-Nl literal 17010 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 LNkvXXu0mjf!*sl` literal 1431 zcmZ`(c~H`682*uBo2_Q6lP+bB9h#!q77Zoq0UoG{CXpBFs(CDETH=`(TWgMaCF{{@ zLYCK>N3|(NnO*88DI}m-gQA9Ih=fXprmjDnW_D($f4=XX?|t6qeZHCZd2^0?V6`-1 zng9T3xw<&w0YL5jTDTGY6Oyk=g`F|4$ve8` zrr5fze&$DKX&&C$(e8@z?YDf}0ne?+khK9+@#f%A_IYdN245YdsH^gofw^bc?a&-( zvG&!+7Y*PD(r;IIX?FPPXPH465vjAOqeGE51>_o=FJF`=NaY{K#?WkW9HZ)%!;P0* zvAD*a$Isqk^kM(THBG=7^~fdl`JNu^@@Kh&kzEFV4FJpUHjZ)#xfcMI&M5;JcA0}p zWr}bw1gy}GZlT&%^zCtF*rr?iqF?39wu8?rL95dgN@@7P?mz0DF*bCe;DGS#PLPXw zDO2*9>&o%Qs&$>ENPO9Jvd(COGB>r*IKP`FVW%k!al&r-R`>=G{Q!A5o@)xrroD^l z`8X-Hr(^P&tbtPsx4=)*f`k$2NW2JXIyWK2FIgKV!VMR5&Q-)DH~eaGuU|5uq!`Z6 z=22&uB=MqKQ^~N35a8=@TjHfIV}XaOCj+P6#KmmU4J-`pI@?$z+c*7l)`t*g%_G>p zf>T{`my7{349l!1K@TU(MdO_&TrSo68@&u`EIV0tzxtwLc)E!%lc5Vbh<$QK?_;`@o;>=QMcl1n#ri1 zBVD5c5!)bLihF|6;*GyP6Y#q-6}Q`yzQC_!inmSQO%97a(u>}r46z*ricb{ZjO``nwT+U_@v4It0(0gYZbiQBd^8u1U@Ad6}-v4vXbN=shp0{)Agz=qw?)$nw*Jrt2XsF$$IdO*LW6yAK~izkK=PZT~VfR7uUfX3tzpi{Xt%sDngG?$T+&)`)W#P98H&vZ@zX zR8X+!bxC$@vpA97laPx(ts$2lX(5ckcO9pvZ#ybx3@>H|b=*UWk;r!N=Hy zBNUr79#Tt_QC3tujISloR*box<<%{iE+4UL5~TK)W9#bbf+hF&_M)yiJB#G!=kL#o zH<)(BUlA1(6LMRAXymh@b3l+MG4zY>Ow##5tY&nimQjGV8rJUoi_EO7Cf9BW>RG!1%|P)v8Z1gp2}P?+eBZ~p#T(XBxPjl zO>^@LxHK<*+rhlaFH`~+u*WKCGN=8U!n*q6H9B`r_ba8sEDawgq=&5 zE}6gzV-pg#YS!TW?7ri#HO##Y)2n{UL)z~lbw-?%me?9~7V#6I4&>3wD)QR0WA*wY z>ShUyf@ZxN3RDNB-%Uln(rQnBDEF z?29LkdKM48o+Rv?oaNw%b}L8s4-I{@Ev##)_u1Pmi#W=_#7v?B~bkGFHQfUN^jZmx_v!&tzw9 zMn50dEsdYfuNYsr+B+a{g@Z#l^s3!xVvNh&RZI9H?_J^enGez~tn$7o+LskQJUool z@A393Dp=_4EZO@}eGV5NPu!@EZsT+tb78t2!7}MJvBwIvZ%{aHt&Tn--^ui2mQN>o%XjKPrUetH8R9P_~+tQ^OWON^zhgC zD+bI$X8%Cho4_S`GG2>uml-ca-=i{wZ3==@x@te3;!$rmCRM-wUcg1VH;=nVZjaBr zHDacXJN;c*Ss4~j@T}`h6e9O;W%FZUC)74%A38Y)pNenWTh4bQ*BFq)zx?d;_cb+p z3q!@`L*-q4@9zpxlSj7pXKzs+B3rJ)u`Vnw?u;}L4N%JsB;PxC?(F&`Xc(4rac~qQ zsBn3Zh+8%`Hj~(f12I$>lR#ERhJTnqeI-^asL-Gy0v74J8fNV9(=uW8S0J5hjW_K4 zq(h>*+|IkEMSuXAmCxjGeJ=Czl1X^3UxKZ=&E^yP?AbHgj-EuJz}eYZJ1>SGH{g7+ zUOO`hJ0X7Cl&IP6RI1OgP>htzWvr3c74fmBT7`q9);+B80><6z^Zh%GbiTd#B}bN! ztSl~6J&A~)lAxuNUDuekC%(CcJSg!!gE0~T2>6KV0Td}8_GJE5sCmL}C`eQ-6WopRDg;GcNyHsuI*jJCb{7ecB{l>oA zu3H}+rNrsHr`;r|W_Ta^KwsHjwP!p=eBo*R*Iqq#%7DXX8+2-Pl>1XH>y?8}^eSIs7I#Xte zh<>5%0oX@LoxMT#>XA=HMMV>(?k_AZutxUx_1(C4k3P#Lt?w~qxD&ia5hqxIPFCP} zBbZQo^q)h>E*%UF%(ES?4*h2Hl-4E6dx2#(l?QG?b#GN%L1|31{nA!*!3{%Xooah* z?VI_8{==SpjG4v7Q7tVkox*_q?=*8*JMM6vP{{n=e;|udaoyR{z8r_4d>9;Au-Uq~ zmwO0yj%v*C^SNxL38>a#qse*JqxN0=?pA8;e-$w1%D8 z4Czc3kE9Z)eI3H;8A{3O?%xzbS8CCA;_~IoA98ZuWMu_= zEmu)KvK=6;gvh@uD2Pb5t9}6(b){l7x+)*nu;0-@y&S^f(cgcN=#pU&uLwQP;`Xdt<6Z(YGc)dWX!%^Y{Lh{p0-_KU6a>%z^@9}IEs0}k z@8}>4y_LxveBHxC5+J5K)|Qz9+I=ale_x*_N7NBG554$-nd)XAin5^P4Nv&lKY`be zQBmc5_`n{e)H^(UhmWztb)zmm5~WmO*SA&Lb$Gzpp<~@$25K@TfvPIkmi;*Ui5GM0 zdUU%^8cehyr^Oy?hhSU6&$hl(j?t@i7lO4J@Be1XdrTrA-Q-NiMAQa4%Dd zondZ1v*n>iFHPE{X3yk_IaH&`YuEr))8U{^t-35t9=;9^j0(cJ0IAZkOyReV2Hn8m z;w>$o?LM7popOBEXfj)-E>Da_4zm#OymsXaRqesPRa61=L>gU zoVp-6^l_4#HPV`Ye)&qjC@h_LX5uY?Z`%!3Rn-F}&;^g(hJK}2>2SVbZw!yBgiZC>7|^Yn3_iP7 zg61VTF_H)*-S6bx{gc#;(-0)VDUxI44 ze}}otuog5Ncp7=koKoqxXnA!SS@q9S>#bZqnwJdpZJO-IO~z|It{HUj9Y11{#Fb_9 zduxy2DzGskz;^SlOpxj4s#AwYNy(|N_-S0-`2uZ+KiRxum6amw?-P1(ak@s69mWSv zRwN~^nCCanf0=Z+&rp&R#Lpq@&!v{~&EA)AR;B;z;>H?K+zs0sNl)TJeE1TL)c7!F z%T)_%Y{#xX8T!m*>>bd9%dD?w1#*8^pzbS3g$^kA&SLY{%H`_C-8x^S2cVcmtf{`rZaU)o8k%P+s!=F>3VXsDagRDMA<#mzPGHfiK!(iG$O=cyiif%f0uDx#3) z+8;yiFd4*TwHbMrzv?-3fPwnIRq<>BFF(`wZd1N}zBSl%dVSfooZR?F>y9zWo(@IV zP#xlr<+LkvAyxSCkr(DRMrviLNY0dP?%m#X^rKX}485r2HEZ2?KU%2P$i6$Pt$wLQ zXn!~Iw#|!*F`q7!N>hvdke+)H3ptB}KfR)Fy->~DkqzaE!-vRjMX>zDN&hON+pO2j z2n)41kG+B)PZW~sBpncxuZ?t>MzBcUxO7)I9XbP;Fp%xMFd@@{txiwo*g%%uH#IT;{uX)3Nv8 zVi(`Pd-pt5+Re%Z6H9$%0ora`G_>r&-ZMhJzdn<_3=69<%&M$RB<^jAIR5_1f{t5< z)7$j&G=URPVl;B!I&Sa#;3nTsVn$^^Jgc#FuPf`sXB)3W+teYp-8M77bIhv^Lt3Za zR97bfC8SwyxlR>~FpDQ`gh(-5Jw^kM38yXepbnKDXSL2LMV|#KIz=44=%$%-^5Vsd)ok$L3y2j0 z;gbeT>0`NGZ*iKUXDoZtWMkvvQe83C)lyvQX)5f;zfHy~yLrn^^qxIwJ>qH)ZORsX;A zlLnMdXr=#O@GI7P)zWh7%-ORdZVR?{c3g1_B-uXc26<=_!^24)X?NZ~di;2SbSsP( zp=Kp3>;3A^KrEf`bz4qdV%Q=-lCNFu>MdH({Ou*Y_w!7kQ^^((qHeQJ0{O?_76saaZHjJGUy#;MhBMNJA&T`Tay7% z3o2UB@wbBS{uG;*uI_DU@h&bdqfh%)fhKke3)dnD7X4l)_dY^j#{Eb>{B`S^D7cYd z;9WhY!o``z9-pjnT{1h^-x>A5rD|(yqXd0+pTg0d10DAbQMZEn`Jm8RuVT@!BSVK1<`*9im>NyS+=&j%hJPz(?hkCQ6(mezVYygpE2%RE%AZ8q= zTF722aU%7OBS2j!$*@w+IoRz--{nVK3`EZg_{`tUdsr1+=sm-GZt&c(AgR&WA0>RK zJ9qB_D}l9H7{yGg{_Qjl5}hCJWv+OVo-#U*RywLAiM~KQf^jcA;-f%&Xqt+YPm`2q z1=1;I%LwYG`%`tcdOEE?c5!CVz!ZjFdaF zQ1*)oQJb^h=ZR(tbnxbFdblS@xqEWe0YSa zxKkp=-k=wy^xQ)D1$MD3B|(I`X#;n@-*Tp;v)dAPqrTf3SKWD9#LA&xRa^+DcuGR* z;@Z>4rY7%hm(Ynrk9(>TzOFVHz)DSVTGEL#NBda6C=Wk>cSlC$I-R!M4en$f*1bC$ zEHcPlsRBbtSXQ9wqrKchQe>b;#X^@gCQXdrN7=v&yug!8Oj{rG1nRdBf&8nA@EIvb zt0Z3y9~`_d!%BzT;}|a0g{HxZ4K?&o5!pyN2Do>yX_09YMMl1EK}kt8h!=7}n?BB# zh;vkP84j1uy!I9E7hT=)#<1Op5{c@;U0|V|0zOj5^IKS+wA16UzuHPB;jsqGez~yl z82(h^>-Qen*=4fC{XEHw6X!&W}sW%j0KftsXphFjVEtEl|61s5O!e z2V`vOa{zhm?n3ULpQYLAl$m~{EkAWM`pWl5v6O7yuR$(>a4te8YhP~usFMr!WCQJ? z9+XrR7uYm%qY;A< zYDWo3bOG^E2l9#S7IA>uw>dd40FcYkBez7)95%s^*F702&u{uiTzDNpa*FS;WC`DW z32wC%6Ht=Z48-fuBd^%x)7snb!2L`x^5pSbW%6r;^^zsR9fw1^aN-4WC~*A)ZIU=o z9DVunWhE%zDj@b4LDNIvRA}G7?==5DVJ+X@C$}lwuzCtCNX`>_@j+7(P@vFqaz1`E zYm2@J>XgpkwxBBb;@$X17JJ9Dsm{QXz-}``^vT|zQi+HrkfL8`#793PAkLlcedtrT zgd0nUYVy@$Xchc5e}prxJh>2s7@jyV$bMHZ7G#3K&@iEHYIC31i9B^u#3&2s!(v$;qI@9)OPq$!QsE~~ooUQK{M*5K zLCk+DFW;<8!7f^U4W%b0*%MU=e&a(O)#u9U9=MKAYaU=-aI|ZTG&E2&a|5w+5FYgP z^~n_)BTXYnk1yC#zjkBLK!JlE{Hia|+2FW2jvp!V*>mLw;~us%wAt+WjW^!*YZ)W8 z6>qQ|^%WJq$15!6lReE)g2&K2yNXb@&bYkBc|Vu; zexQ0Yx7jaUnv3AxxbBoTvh7hXE`}TT*)p`N-?91^JRsHx2KlR{&+n zk%%DGX=GqBLo)t%0I4R%Bc{h}Fp)!Ur}p%SqoAq-%P?z=pF|_{(DwBoh))FkS=eq= z0`iFVf6FMlGK8UtdTlPbuWu+wKWD%^@~ZE6eUkl!*AVM)YH4bPp;iUyj`6%E9t&I8BqicC>=-j@vPQlJG&(b58ADph zBl9cnl`A{m%)yR#=uGyA7l@S&2@w2n*(gkyf$utmV1u}>svXzIAkMra)`pDLw za3I|3X`NfMRS^#mNBb9qBrUMLp$Z)5jJDim{y9WO%OEwr}8#~iqE4YN6q&i)A|qo8Q`=0O@_rrj zB~TVXslbn7X_cHQDVW?IE#ZTOb#AXtsS`hYBJ_VgyT|r{gm$(dK2L}?M|-P6EvQ`C z4bqs|%K=Y6WYe_b{zik!!k9mV0R{k~DBm-N_rDGFbJSKeV0It%kj2~5`YjxDOCfoV z9=K4mr0^TzyQFSn&T%`A4r)0l`!~os8baDav{x$L>zWvCc7@P1G zFb#IbW6xVojLVLxdD-eSmZP z1@^bfli#JlaUCK(;5etRR>XE4{u>XFcTcT409`X5xeAnCR8+LLxAz(})`+P~os1bLI>PJ6I0QLd%_H{rKhr!y0!;IC64w+O}rl@iyxpgN$@^ z6d~_)WKrpV_vusY+qZ8!Cm3G*0|qB&jIvsa#C0e!urwu?qQ$$)%^60@o$p)8aVdUt zk`W$us>nt^ML-ochK2zRkqG&a$yO=$P>peYj~zfBIqFvGuoaIY7!% zUju#(Tm;kbUXuqjaGQm2|6`^tK~)B5!Ca4gn`&e)9bTFJ&-C?gD zzqy-!F-CdZo1n_br{_O`$FEet0dquw%s+Op$Y`D;|LnvDVbojK+7-pDuyM(Aq%S zYbdoFtJXT$4CzXi&_bbT47m6N7?A0&e`>X z|27I%!rJDDy)zhyrLId4`0KaLpifKj5y}dE!j)sVRu_#)Ngy=Hi(p5P_d^v_&7QfR z|KRXvpRFjbEN4*JMwP2C*J@^!gOZQ8II+5G{MV_UW+73|)nL7l65DSB$%wM~50|>gZFzUKAjBx*zJ>pP#>dv3S%HPKZ z3k*AuR|=Z9P=EaRQ4bOkuoS?F$H2aljo4E>D10yn8utYQx3KA#fBu@^x6ku)tQjLS z27DcFYin6LO5EW*)b+W>q#)~p&T$BRWe!<_G`=8mL{bh=&|IoXUk7xJQ-4zQi&iZb z)Kt#I8|cAV19YLAb~n9?aBw4qBMAV$Xo*o;@v=4y|CHWP}&YQ8TaEOWi5`wR0LP!cU<~Gq4eetdX z3pe3sa#ove{n{xcJT0}w@`J!bmSJnWH~cz1(n#DIrc}NFJZ?|NsH27|9WS7O#Ub8_ zd3!7mW(ENlh)z(#3EL24zyScfb&t6+9t#pw6>+{(>VtpupgKTDL&M*c*}ZO@ztsXp zS30j@{|*Ga&B#E(P>f`#150+3IeebQ#}hv3R{Hm?I{kZa(r8(=idyu@xd(OSXlHPM zK(IBzScP;!{q6$4d?3uLIIhp#g9A|T@$pHp>`D>~LxQnFKjI=n$G|TsxhXl{lS8mR zLmL8NcatEqyswOEyTj6J#C!0b%z#E77@H|j@$g=^`kA1FmoI=Jr8g>T? zB_Pm&czCWTJk`ZW&gYDHm#8Y>L~{T+B@iFOK`OY&A9Hhe<}xGUr6vg-+B!Op+bgDU zfA7FxN~u*>`#u`6w05Rr5DobEMvbr?IUU>xHKbQ+MFYYcbX!;)udb$n!HA{Dj+I29 z!y9|gSTBA7^Nv=f$#s`aJJuQ6rtGvPn^-SF=64wxzdp&wH({nEBqCy}II$&sAlRT| z!CR-6>;qzp=%UJWwY6jC?UvPcz3@G5tGkPZ&cIn$Ljbd3s3RT}4(mkBo%d3&0;LRh z;w>jPJViR*8GOp__uUzvv)LJc^-Ud6hj<{DkUF?iI%j7P;2S6O`rq!8fb*`j&#_TK zY9yMs$P|AwmimPDBY)NO3535xlN-nt4ABy3g@-RS@ybqWy6v8EmAx{N+_BhaxJ9HH z9ydyg$Ft+}Ma+2>6{dmmoC2>7F>6CL{F48ZGaJSKXpQgm0;G8ei|SW0rhVs-@aAoe zk0ubozQA?5NA_Ia^rxxkZD(twD}Pwpa&U|(kwSxSoQI1f-2d$5^h?m|;^GX)f~sj; z5NgFV?1s+5-G=!a25vQoRm;)VR&jULDu2~d;$Ct(R; zO2f(|C8>!1$=hPGVh-1@U$^r7wfTl$SfhFv-zPpOq*{72vBED8VVO5@_cixyZqPK% zl?3q%AFm$X8V;#OXqeBBgO+piy=tV_A8QOLZt9LLFB#yL4Cem^{8Ba~^Ph4*MkR&ew4vU)2?9g=&x0G6kxHn?HSeM?Bsj01mO$>I8>VjmY zrKb$5W=`y4&1hgF`{Bcf&+MK5&7oh>OZ1huPIVc)_5@-MFl}gi{)YtQKOe&X7@GVq zer3GzL9tCzqSbN)lau~^obZ^DdXu0a^#vS^FkG;ndEX(b%FycQWMo$`lc@sKe7E5N zqDd(7gX~7GmZRwg7izAEV=bXzVVX}OVsY^(x{kidX5tk67Lt_zFIMm$yruu&aOmIf zBFG*9IS{aT^5V-7*3VPgm-B*$5W}s02(-8oKr@@)z7U8NByfPCxIFO^aq6bI6?^`f z5|sfFaZB2S>X)Hj7U$+rFtdY#d5velG>Tz*Y2Q~K(Q3@pv=3SNiZ< zFPhEZv6TnXXf(Q6kQ(4Kj9Q6G_8h|bz*~h`%xm2ba62Fyop=V<>;OuVeSfrFRQ1FQg)CfiKHTnNzK#vbQI4jr4AGnLr6FkwFQGR3>tX^< z&bh0EFJo!_*+@e_s5BtWz)R|K8?<0ew=xwn@9AQ-EGkd0$cZ;hOiZR!8~iL!m88RT zkZD(0C2_%gFuU{R=6u*UFf1f%gfAEan}S4j#1$DLrs&N`Q8-H*V3%Z-m1ZY5v9RHJ zlp+vv4_&s(Ya_nNtkk$cA^P6U)cCkKknx6w>QR#|4nJ@(zUS1^FQ_}O2~$T1b%z`S zq6$zrj2Z7>iCWJ%k!#&u4D+F(DLE(S zoF2d+0VMevm%f4$4Q`I3hKbt~$QT;LqT!EE{8u{q)Qfh^kp&74u*&*JN)J$e(8yTz gNgfyx-6WA+IXR^taXc>rX2em-ifRf4H%y-WAIMUBR{#J2 literal 20770 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 diff --git a/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-visible.png b/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-visible.png index e7052a379ba0f2dbe35853bb3d473395c96ead32..c18a93c1019cd80c643302b8bf205deb5f0aae13 100644 GIT binary patch literal 4861 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 diff --git a/tests/testthat/helpers-with-settings.R b/tests/testthat/helpers-with-settings.R index 0418eb63..6def17aa 100644 --- a/tests/testthat/helpers-with-settings.R +++ b/tests/testthat/helpers-with-settings.R @@ -86,11 +86,11 @@ app_pws <- function() { #' @keywords internal is_draw <- function(plot_fun) { checkmate::assert_function(plot_fun) - graphics.off() # close any current graphics devices - cdev <- dev.cur() + grDevices::graphics.off() # close any current graphics devices + cdev <- grDevices::dev.cur() plot_fun() - if (cdev != dev.cur()) { - on.exit(dev.off()) + if (cdev != grDevices::dev.cur()) { + on.exit(grDevices::dev.off()) return(TRUE) } return(FALSE) diff --git a/tests/testthat/test-plot_with_settings_ui.R b/tests/testthat/test-plot_with_settings_ui.R index a6222f13..5cd4dc61 100644 --- a/tests/testthat/test-plot_with_settings_ui.R +++ b/tests/testthat/test-plot_with_settings_ui.R @@ -1,8 +1,8 @@ -testthat::test_that("type_download_ui returns shiny.tag", { +testthat::test_that("type_download_ui returns `shiny.tag`", { testthat::expect_s3_class(type_download_ui("STH"), "shiny.tag") }) -testthat::test_that("plot_with_settings_ui returns shiny.tag.list", { +testthat::test_that("plot_with_settings_ui returns `shiny.tag.list`", { testthat::expect_s3_class(plot_with_settings_ui("STH"), "shiny.tag.list") }) diff --git a/tests/testthat/test-standard_layout.R b/tests/testthat/test-standard_layout.R index 706152af..ab13fc59 100644 --- a/tests/testthat/test-standard_layout.R +++ b/tests/testthat/test-standard_layout.R @@ -4,25 +4,25 @@ testthat::test_that("Input validation", { testthat::expect_error( standard_layout(NULL), - regexp = "output is supposed to be of class shiny.tag or shiny.tag.list" + regexp = "output is supposed to be of class `shiny.tag` or `shiny.tag.list`" ) - testthat::expect_error(standard_layout(1), regexp = "output is supposed to be of class shiny.tag or shiny.tag.list") + testthat::expect_error(standard_layout(1), regexp = "output is supposed to be of class `shiny.tag` or `shiny.tag.list`") testthat::expect_error(standard_layout( output = tags$div(), encoding = 1 - ), regexp = "encoding is supposed to be NULL, shiny.tag or shiny.tag.list.") + ), regexp = "encoding is supposed to be `NULL`, `shiny.tag` or `shiny.tag.list`.") testthat::expect_error(standard_layout( output = tags$div(), pre_output = 1 - ), regexp = "pre_output is supposed to be NULL, shiny.tag or shiny.tag.list.") + ), regexp = "pre_output is supposed to be `NULL`, `shiny.tag` or `shiny.tag.list`.") testthat::expect_error(standard_layout( output = tags$div(), post_output = 1 - ), regexp = "post_output is supposed to be NULL, shiny.tag or shiny.tag.list.") + ), regexp = "post_output is supposed to be `NULL`, `shiny.tag` or `shiny.tag.list`.") }) # Result ---- From b96ff683d57aea1a05f474846d4cd600db3fdc00 Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 12:05:14 +0200 Subject: [PATCH 03/10] promote grDevices to Imports --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 41513bbd..20bbcfa9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -21,6 +21,7 @@ Imports: checkmate, ggplot2, graphics, + grDevices, htmltools, lifecycle, methods, @@ -29,7 +30,6 @@ Imports: shinyWidgets, styler Suggests: - grDevices, knitr, lattice, magrittr, From 4b2bbb33a03335084367cbcfa3a6fee0770b1737 Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 12:09:33 +0200 Subject: [PATCH 04/10] lint --- tests/testthat/test-standard_layout.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test-standard_layout.R b/tests/testthat/test-standard_layout.R index ab13fc59..a04a0d5b 100644 --- a/tests/testthat/test-standard_layout.R +++ b/tests/testthat/test-standard_layout.R @@ -7,7 +7,10 @@ testthat::test_that("Input validation", { regexp = "output is supposed to be of class `shiny.tag` or `shiny.tag.list`" ) - testthat::expect_error(standard_layout(1), regexp = "output is supposed to be of class `shiny.tag` or `shiny.tag.list`") + testthat::expect_error( + standard_layout(1), + regexp = "output is supposed to be of class `shiny.tag` or `shiny.tag.list`" + ) testthat::expect_error(standard_layout( output = tags$div(), From bf6b6607f6c125b9d61253722146078ee5be5ad3 Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 12:17:33 +0200 Subject: [PATCH 05/10] add one more error message --- R/standard_layout.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/standard_layout.R b/R/standard_layout.R index d70be086..431aa7b1 100644 --- a/R/standard_layout.R +++ b/R/standard_layout.R @@ -27,7 +27,7 @@ standard_layout <- function(output, post_output = NULL) { # checking arguments if (!inherits(output, c("shiny.tag", "shiny.tag.list", "html"))) { - stop("output is supposed to be of class shiny.tag or shiny.tag.list") + stop("output is supposed to be of class `shiny.tag` or `shiny.tag.list`") } for (name in names(l <- list( "encoding" = encoding, From dfb358019c16bcf9bee8adfce1c786069103efce Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 13:01:03 +0200 Subject: [PATCH 06/10] regenerate snapshots from the CI image --- .../pws-download_menu.png | Bin 9534 -> 22093 bytes .../plot_with_settings_ui/pws-hidden.png | Bin 937 -> 6343 bytes .../plot_with_settings_ui/pws-resize_menu.png | Bin 11850 -> 26306 bytes .../plot_with_settings_ui/pws-visible.png | Bin 4861 -> 11531 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-download_menu.png b/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-download_menu.png index 61923a70fdcba47690b59fe22a068746e227e096..505d0f8940b03c335fa68e9eeb66ddcd58e545ae 100644 GIT binary patch literal 22093 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 NH5DyniIQ3H{{T*={M-Nl diff --git a/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-hidden.png b/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-hidden.png index 8c8937c52532c983771003ece720b1eff03510a3..5fec915834f5a7b1b8e79996ecd03cd331cf135c 100644 GIT binary patch literal 6343 zcmeI0dr%YC9>=4g_$c7C7Ht%1Z|lX5rRZQlfdCZ+84JiGJOxw~Bnd=?B|=OhQbDg$ zMy=2W2=<~9HiU>V#1fO})hkz#m*i1`2}0yyViE`ePdr*r?lGueN3_Ut*o zJ?HoPobPvc&+m&0cV2;9fj}UfBlhfyMIam|5QxS1mMsM>r#i2;g43e>*zlc*mhSbh z5s0-V5xc&LKUu3)q@BYo8SEG)J;e`}@9fq?6O-s+L`ndGaXRFEv7;ArRbnFDy2!*QmPu!fk1@XD69wl@Fq+WfNO z^5L$7bx@+u>03 zhhR`CKBPoQ)GJ{a>6iE7n)4%%eBmMlqI-X~^Q$g28ZD8_{gXJyR9w0KzoxLEdSF9`VQ=@2K- z1M%C9M@x;DH||xBR%ckkXADY`Uh@3LUhA~R)!jc{tJN9|vJ9)vh$hX%lSm{8f}Ex2 zK&0B?vM+ioH=t8`f)?;z`|sY$>Y=CQk3DPR>xKNbJca*il~~G3WeNlW7|s(Iq(kP8 z`!^$Nu+rvajG=S(lIZQfR-!1TIch-^2-m$o^ur09tcBH8<0peLOf`$Agq_#2w%wpC7Bym}iIdB&}dpnR>y^OTDnbWDDVBP8NnU(5%zx)NkH2gBD|S zkF~z~E)jwxww|&KD%mUL4kKvc4Tr+ES{C%Uf!jw=1m!(i05K13nNvydzE*jJ0|N2# zqVE?aK{?N_7f*HhF*zL0&}3@fFE@scsMsP)aaVn?$TwFWztZh11{WujKDpw_j*mL+D8Fc-uqlPWBm=|zbIhRTTgdu8+00JJAxnbmv6NhaG!9JYYox!nW@=^z3Hnq~X2e8!?Ht-perl8p4>L09ZXDZ!#Cv)wn@|yCX>tM(!o@b0fl%BMikw@t|AO$ zJ~2Sb&d#p*#OG#M1yaJZOm=#+l}e?YN66^CT`@#*TsUGWC63`jVcs;e{xazT? zW;C&`uFjTOnoo8&LCL3DDXugC(KWbiQ!f>IvavcoJUkpKC=d@nEXO^$ypc;W8;e0T zm@s_f#;7-83Zw*eeB@F4^z*%%3*JJ8ZFOF}7qOX-FE;UpD185b03d79AHIykS}kTS z)oP*nLs(JnMXoKZzhekA%LDBs(EQVlJkj#q1y^R zan?*3I8rV7Ika3|?m?MIEqwK#OF}0(kh>7cDo5kS>iw}9l=&m*xAz^m0C-!8$g>Kf z;pt|!7z{`PIHE^=TiVqyZCg$(dg_@E*rS>b4{Gz8j8m;+T{Vg0b;NWG##UF~ycbC} zPHeh<>)^xpvjvi5ow7`c;J%|`NS2nUk+JopznO4sfs{vi`oovd=+#7NTr?Wv-2y+PWttEhp!AY19)g6Y`E+U>0y00Swv4t(R4e($alOtg69yr(7p z8t={>F%5;o4hhLnf25xzji|s}@r>3Hz2`xRu(LV^)P<5wd)4^nrjQr3yi()@22+Wi zNixjLNKNxoxcSLZ?#Xu}Fs#;USul*kNyRotYiMY2`zmQ45DWUrk@Ji6Yite@zE{uw zc-{{{?1>^9rytao#~tgo8Pd0*lPDaRbqMu;c*}35v*lU{VH*+x1$jU_8@K($t34=W z#m^f6xTpIMgp?@d@)Y21rKpvSz5V@hz}-U8HrH=_aC)%-T)AurOd`$d3=zhh0uaMi zareNJx8!p9?_LY`oU#P}63{J?NH8|5#QQqozP3a*^f9DTDHgB-sBtxH2VrZMI=I-p z@W9K!f7=Z5ubuHPEz^GEPj3Dt_*f%uq(qK oKj7?|XxBu$CjP%^qG{!z^yMhzfIGPIsgCw literal 937 zcmV;a16KTrP)000pP1^@s6D=1zM000AUNkl5d_E6AKA*?3Eb{q$vF%s;)6>&?QWg;rDN7|6^mshZ^z<}aTU!hd z50g%(nVXv{Dc17xGVAN>B$G)1&d<+TT3X`t^t9LpaCUaa`ucjQDT|1Rlr7i4+}#`> zAJg32Oixb_nM{U4p+Gzy=lc4Zii!%x#>R-nVpx`iX_`c%QEqN-Xl!g`Z*Pym!9iA5 zRu~){#N+W`nkKnij&wTB{rx=vxm=FN$46FIS4kuiWV2biy1Lld*x>N+5U=2Dc0odH!WN~qkA3uHoe|=()$K%9eG5Y%Ya2$uVwKclC zyD3K5A! z@OV5#A`!CLESHy;ghCF8nU0v+%?y|qXPg7G0LXXW&6zwSfV)u|#P@~8L-;q*jYq94%!00000 LNkvXXu0mjf!*sl` diff --git a/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-resize_menu.png b/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-resize_menu.png index 08517cc2b88667ef84f3862d9f1549412404dbcb..b7664369157be302f3f2b1a4a16a5e3711eca06b 100644 GIT binary patch literal 26306 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 diff --git a/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-visible.png b/tests/testthat/_snaps/app_pws_ui/plot_with_settings_ui/pws-visible.png index c18a93c1019cd80c643302b8bf205deb5f0aae13..7d8d88bb8ac1eca82120399b7829cb31aecb9d0d 100644 GIT binary patch literal 11531 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 TMo9>+wIH~I^Wn-vXRiGR! Date: Tue, 22 Aug 2023 14:34:17 +0200 Subject: [PATCH 07/10] add news --- NEWS.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NEWS.md b/NEWS.md index a1cd34f0..2942a6b4 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,10 @@ # teal.widgets 0.4.0.9001 +### Miscellaneous + +* Documentation enhancements - code formatting package names and R objects. +* Add `grDevices` to Imports. + # teal.widgets 0.4.0 ### Bug fixes From 29e887593aaf406368b042ce13f617e78ffe5daf Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 15:41:04 +0200 Subject: [PATCH 08/10] code review comments; checkmate --- R/optionalInput.R | 4 ++-- R/standard_layout.R | 16 ++++------------ R/teal.widgets-package.R | 2 +- R/verbatim_popup.R | 3 +-- man/optionalSliderInputValMinMax.Rd | 2 +- man/teal.widgets-package.Rd | 2 +- tests/testthat/test-standard_layout.R | 10 +++++----- 7 files changed, 15 insertions(+), 24 deletions(-) diff --git a/R/optionalInput.R b/R/optionalInput.R index b4503112..aae6a3b1 100644 --- a/R/optionalInput.R +++ b/R/optionalInput.R @@ -425,7 +425,7 @@ optionalSliderInput <- function(inputId, label, min, max, value, label_help = NU #' \code{value_min_max} #' #' @description `r lifecycle::badge("stable")` -#' The [optionalSliderInput()] function needs three arguments to decided +#' The [optionalSliderInput()] function needs three arguments to determine #' whether to hide the `sliderInput` widget or not. For `teal` modules we specify an #' optional slider input with one argument here called `value_min_max`. #' @@ -446,7 +446,7 @@ optionalSliderInputValMinMax <- function(inputId, label, value_min_max, label_he x <- value_min_max - if (!is.numeric(x)) stop("value_min_max is expected to be numeric") + checkmate::assert_numeric(x, .var.name = "value_min_max") vals <- if (length(x) == 3) { if (any(diff(x[c(2, 1, 3)]) < 0)) { diff --git a/R/standard_layout.R b/R/standard_layout.R index 431aa7b1..cd004e96 100644 --- a/R/standard_layout.R +++ b/R/standard_layout.R @@ -26,18 +26,10 @@ standard_layout <- function(output, pre_output = NULL, post_output = NULL) { # checking arguments - if (!inherits(output, c("shiny.tag", "shiny.tag.list", "html"))) { - stop("output is supposed to be of class `shiny.tag` or `shiny.tag.list`") - } - for (name in names(l <- list( - "encoding" = encoding, - "pre_output" = pre_output, - "post_output" = post_output - ))) { - if (!is.null(l[[name]]) && !inherits(l[[name]], c("shiny.tag", "shiny.tag.list", "html"))) { - stop(paste(name, "is supposed to be `NULL`, `shiny.tag` or `shiny.tag.list`.")) - } - } + checkmate::assert_multi_class(output, c("shiny.tag", "shiny.tag.list", "html")) + checkmate::assert_multi_class(encoding, c("shiny.tag", "shiny.tag.list", "html"), null.ok = TRUE) + checkmate::assert_multi_class(pre_output, c("shiny.tag", "shiny.tag.list", "html"), null.ok = TRUE) + checkmate::assert_multi_class(post_output, c("shiny.tag", "shiny.tag.list", "html"), null.ok = TRUE) # if encoding=NULL then forms is placed below output diff --git a/R/teal.widgets-package.R b/R/teal.widgets-package.R index 67715cb3..50f15ac1 100644 --- a/R/teal.widgets-package.R +++ b/R/teal.widgets-package.R @@ -1,7 +1,7 @@ #' `teal.widgets`: Custom widgets for `teal` applications #' #' The `teal.widgets` package contains functionalities that can be used -#' for `teal` module development. The package is dedicated to allow developers to extend modules +#' for `teal` module development. The package is dedicated to allow developers to extend module #' functionality by additional inputs and output controls. #' #' @keywords internal diff --git a/R/verbatim_popup.R b/R/verbatim_popup.R index fd977623..9566d9e7 100644 --- a/R/verbatim_popup.R +++ b/R/verbatim_popup.R @@ -30,8 +30,7 @@ verbatim_popup_ui <- function(id, button_label, type = c("button", "link"), ...) ui_function <- switch(match.arg(type), "button" = shiny::actionButton, - "link" = shiny::actionLink, - stop("Argument 'type' should be 'button' or 'link'") + "link" = shiny::actionLink ) ns <- shiny::NS(id) diff --git a/man/optionalSliderInputValMinMax.Rd b/man/optionalSliderInputValMinMax.Rd index 63520c86..5f6aef52 100644 --- a/man/optionalSliderInputValMinMax.Rd +++ b/man/optionalSliderInputValMinMax.Rd @@ -30,7 +30,7 @@ an object of class \code{shiny.tag}. E.g. an object returned by \code{\link[shin } \description{ \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#stable}{\figure{lifecycle-stable.svg}{options: alt='[Stable]'}}}{\strong{[Stable]}} -The \code{\link[=optionalSliderInput]{optionalSliderInput()}} function needs three arguments to decided +The \code{\link[=optionalSliderInput]{optionalSliderInput()}} function needs three arguments to determine whether to hide the \code{sliderInput} widget or not. For \code{teal} modules we specify an optional slider input with one argument here called \code{value_min_max}. } diff --git a/man/teal.widgets-package.Rd b/man/teal.widgets-package.Rd index c1cf342f..7fe81805 100644 --- a/man/teal.widgets-package.Rd +++ b/man/teal.widgets-package.Rd @@ -7,7 +7,7 @@ \title{\code{teal.widgets}: Custom widgets for \code{teal} applications} \description{ The \code{teal.widgets} package contains functionalities that can be used -for \code{teal} module development. The package is dedicated to allow developers to extend modules +for \code{teal} module development. The package is dedicated to allow developers to extend module functionality by additional inputs and output controls. } \author{ diff --git a/tests/testthat/test-standard_layout.R b/tests/testthat/test-standard_layout.R index a04a0d5b..6cd3e1b2 100644 --- a/tests/testthat/test-standard_layout.R +++ b/tests/testthat/test-standard_layout.R @@ -4,28 +4,28 @@ testthat::test_that("Input validation", { testthat::expect_error( standard_layout(NULL), - regexp = "output is supposed to be of class `shiny.tag` or `shiny.tag.list`" + regexp = "Assertion on 'output' failed" ) testthat::expect_error( standard_layout(1), - regexp = "output is supposed to be of class `shiny.tag` or `shiny.tag.list`" + regexp = "Assertion on 'output' failed" ) testthat::expect_error(standard_layout( output = tags$div(), encoding = 1 - ), regexp = "encoding is supposed to be `NULL`, `shiny.tag` or `shiny.tag.list`.") + ), regexp = "Assertion on 'encoding' failed") testthat::expect_error(standard_layout( output = tags$div(), pre_output = 1 - ), regexp = "pre_output is supposed to be `NULL`, `shiny.tag` or `shiny.tag.list`.") + ), regexp = "Assertion on 'pre_output' failed") testthat::expect_error(standard_layout( output = tags$div(), post_output = 1 - ), regexp = "post_output is supposed to be `NULL`, `shiny.tag` or `shiny.tag.list`.") + ), regexp = "Assertion on 'post_output' failed") }) # Result ---- From 7985788627a343949a2ea06e199f2424134cf9ac Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:08:41 +0200 Subject: [PATCH 09/10] checkmate assertions on value_min_max --- R/optionalInput.R | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/R/optionalInput.R b/R/optionalInput.R index aae6a3b1..7b034245 100644 --- a/R/optionalInput.R +++ b/R/optionalInput.R @@ -443,20 +443,27 @@ optionalSliderInput <- function(inputId, label, min, max, value, label_help = NU #' optionalSliderInputValMinMax("a", "b", 1) #' optionalSliderInputValMinMax("a", "b", c(3, 1, 5)) optionalSliderInputValMinMax <- function(inputId, label, value_min_max, label_help = NULL, ...) { # nolint + checkmate::assert( + checkmate::check_numeric( + value_min_max, + min.len = 3, + max.len = 3, + lower = value_min_max[2], + upper = value_min_max[3] + ), + checkmate::check_numeric( + value_min_max, + min.len = 1, + max.len = 1 + ) + ) x <- value_min_max - checkmate::assert_numeric(x, .var.name = "value_min_max") - vals <- if (length(x) == 3) { - if (any(diff(x[c(2, 1, 3)]) < 0)) { - stop(paste("value_min_max is expected to be (value, min, max) where min <= value <= max")) - } list(value = x[1], min = x[2], max = x[3]) } else if (length(x) == 1) { list(value = x, min = NA_real_, max = NA_real_) - } else { - stop(paste("value_min_max is expected to be of length 1 (value) or of length 3 (value, min, max)")) } slider <- optionalSliderInput(inputId, label, vals$min, vals$max, vals$value, ...) From 504dc671973cd6ad82f5434394847ca1fefc360a Mon Sep 17 00:00:00 2001 From: Pawel Rucki <12943682+pawelru@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:58:10 +0200 Subject: [PATCH 10/10] separate checks for class/len and value --- R/optionalInput.R | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/R/optionalInput.R b/R/optionalInput.R index 7b034245..10b4fd6b 100644 --- a/R/optionalInput.R +++ b/R/optionalInput.R @@ -446,21 +446,20 @@ optionalSliderInputValMinMax <- function(inputId, label, value_min_max, label_he checkmate::assert( checkmate::check_numeric( value_min_max, - min.len = 3, - max.len = 3, - lower = value_min_max[2], - upper = value_min_max[3] + finite = TRUE, + len = 3 ), checkmate::check_numeric( value_min_max, - min.len = 1, - max.len = 1 + finite = TRUE, + len = 1 ) ) x <- value_min_max vals <- if (length(x) == 3) { + checkmate::assert_number(x[1], lower = x[2], upper = x[3], .var.name = "value_min_max") list(value = x[1], min = x[2], max = x[3]) } else if (length(x) == 1) { list(value = x, min = NA_real_, max = NA_real_)