Skip to content

Commit cfba744

Browse files
nathancdaylionel-
authored andcommitted
Add ability to see validated cases in app
1 parent 931562b commit cfba744

File tree

4 files changed

+29
-4
lines changed

4 files changed

+29
-4
lines changed

R/cases-ui.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#' @export
1010
manage_cases <- function(package = ".", filter = NULL, ..., options = list()) {
1111
cases <- collect_cases(package, filter = filter)
12-
cases <- filter_cases(cases, c("new_case", "mismatch_case", "orphaned_case"))
12+
cases <- filter_cases(cases, c("new_case", "mismatch_case", "orphaned_case", "success_case"))
1313

1414
vdiffrApp <- shiny::shinyApp(
1515
ui = vdiffrUi(cases),
@@ -28,7 +28,7 @@ manage_cases <- function(package = ".", filter = NULL, ..., options = list()) {
2828
vdiffrAddin <- function() {
2929
pkg_path <- rstudioapi::getActiveProject() %||% "."
3030
cases <- collect_cases(pkg_path)
31-
cases <- filter_cases(cases, c("new_case", "mismatch_case", "orphaned_case"))
31+
cases <- filter_cases(cases, c("new_case", "mismatch_case", "orphaned_case", "success_case"))
3232

3333
vdiffrApp <- shiny::shinyApp(
3434
ui = vdiffrUi(cases),

R/cases.R

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,12 @@ print.cases <- function(x, ...) {
173173
cat("\nNew:\n")
174174
print_cases_names(new)
175175
}
176+
177+
success <- filter_cases(x, "success_case")
178+
if (length(success) > 0) {
179+
cat("\nValidated:\n")
180+
print_cases_names(success)
181+
}
176182

177183
orphaned <- filter_cases(x, "orphaned_case")
178184
if (length(orphaned) > 0) {

R/shiny-server.R

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
vdiffrServer <- function(cases) {
3-
shiny::shinyServer(function(input, output) {
3+
shiny::shinyServer(function(input, output, session) {
44
cases <- shiny::reactiveValues(all = cases)
55
cases$active <- shiny::reactive({
66
type <- input$type %||% "new_case"
@@ -28,6 +28,8 @@ vdiffrServer <- function(cases) {
2828

2929
output$status <- renderStatus(input, cases)
3030
output$case_context <- renderCaseContext(input, cases)
31+
32+
toggleValidateBtns(input, session)
3133

3234
quitApp(input)
3335
})
@@ -39,7 +41,8 @@ diff_text_watcher <- function(input) {
3941

4042
prettify_types <- function(x) {
4143
ifelse(x == "mismatch_case", "Mismatched",
42-
ifelse(x == "new_case", "New", "Orphaned"
44+
ifelse(x == "new_case", "New",
45+
ifelse(x == "success_case", "Validated", "Orphaned")
4346
))
4447
}
4548

@@ -51,6 +54,7 @@ renderTypeInput <- function(input, reactive_cases) {
5154
if (length(types) == 0) {
5255
return(NULL)
5356
}
57+
5458
types <- set_names(types, prettify_types(types))
5559

5660
shiny::selectInput(
@@ -218,6 +222,14 @@ renderStatus <- function(input, reactive_cases) {
218222
})
219223
}
220224

225+
toggleValidateBtns <- function(input, session) {
226+
shiny::observeEvent(input$type, {
227+
req(input$type)
228+
message <- input$type == "success_case"
229+
session$sendCustomMessage("toggle-validate-btns-handler", message)
230+
})
231+
}
232+
221233
quitApp <- function(input) {
222234
shiny::observe({
223235
if (input$quit_button > 0) {

inst/www/toggle.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,10 @@ document.addEventListener('toggled', function(event) {
77
status.innerHTML = 'After';
88
}
99
});
10+
11+
// Disable/Enable validate buttons
12+
Shiny.addCustomMessageHandler('toggle-validate-btns-handler', toggleBtns);
13+
function toggleBtns(message) {
14+
document.getElementById('group_validation_button').disabled = message;
15+
document.getElementById('case_validation_button').disabled = message;
16+
}

0 commit comments

Comments
 (0)