@@ -50,9 +50,8 @@ prettify_types <- function(x) {
5050renderTypeInput <- function (input , reactive_cases ) {
5151 shiny :: renderUI({
5252 cases <- reactive_cases $ all
53-
53+
5454 types <- unique(map_chr(cases , function (case ) class(case )[[1 ]]))
55-
5655 if (length(types ) == 0 ) {
5756 return (NULL )
5857 }
@@ -155,7 +154,7 @@ withdraw_cases <- function(cases) {
155154
156155validateSingleCase <- function (input , reactive_cases ) {
157156 shiny :: observeEvent(c(input $ case_validation_button , input [[" validateCase" ]]), {
158-
157+
159158 cases <- shiny :: isolate(reactive_cases $ all )
160159 case <- shiny :: isolate(input $ case )
161160 shiny :: req(input $ case )
@@ -164,21 +163,21 @@ validateSingleCase <- function(input, reactive_cases) {
164163 cases [[case ]] <- success_case(cases [[case ]])
165164
166165 shiny :: isolate(reactive_cases $ all <- cases )
167- })
166+ })
168167}
169168
170169validateGroupCases <- function (input , reactive_cases , session ) {
171170 shiny :: observeEvent(c(input $ group_validation_button , input [[" validateGroup" ]]), {
172171 active_cases <- shiny :: isolate(reactive_cases $ active())
173172 cases <- shiny :: isolate(reactive_cases $ all )
174-
173+
175174 if (length(cases ) > 0 ) {
176175 shiny :: req(input $ type )
177176 type <- shiny :: isolate(input $ type )
178177
179178 withdraw_cases(active_cases )
180- idx <- sapply (cases , inherits , type )
181- cases [ idx ] <- lapply (cases [ idx ] , success_case )
179+ idx <- map_lgl (cases , inherits , type )
180+ cases <- map_if (cases , idx , success_case )
182181
183182 shiny :: isolate(reactive_cases $ all <- cases )
184183 }
@@ -235,22 +234,26 @@ listenToKeys <- function(input, session, reactive_cases) {
235234 shiny :: observeEvent(input [[" nextCase" ]], {
236235 names <- unique(names(reactive_cases $ active()))
237236 shiny :: updateSelectInput(session , " case" ,
238- selected = next_element(input $ case , names ))
237+ selected = next_element(input $ case , names )
238+ )
239239 })
240240 shiny :: observeEvent(input [[" prevCase" ]], {
241241 names <- unique(names(reactive_cases $ active()))
242242 shiny :: updateSelectInput(session , " case" ,
243- selected = next_element(input $ case , names , direction = - 1 ))
243+ selected = next_element(input $ case , names , direction = - 1 )
244+ )
244245 })
245246 shiny :: observeEvent(input [[" nextType" ]], {
246247 types <- unique(map_chr(reactive_cases $ all , function (case ) class(case )[[1 ]]))
247248 shiny :: updateSelectInput(session , " type" ,
248- selected = next_element(input $ type , types ))
249+ selected = next_element(input $ type , types )
250+ )
249251 })
250252 shiny :: observeEvent(input [[" prevType" ]], {
251253 types <- unique(map_chr(reactive_cases $ all , function (case ) class(case )[[1 ]]))
252254 shiny :: updateSelectInput(session , " type" ,
253- selected = next_element(input $ type , types , direction = - 1 ))
255+ selected = next_element(input $ type , types , direction = - 1 )
256+ )
254257 })
255258}
256259
0 commit comments