Skip to content

Commit 29adf76

Browse files
author
Wang
committed
update column header and toggle button
1 parent e31bc31 commit 29adf76

5 files changed

Lines changed: 42 additions & 18 deletions

File tree

R/ae_forestly.R

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,15 @@ ae_forestly <- function(outdata,
192192
names(outdata$diff)
193193
)
194194

195+
all_diff_cols <- c(diff_cols, "diff_fig")
196+
displayed_diff_cols <- intersect(all_diff_cols, c(
197+
if ("diff" %in% outdata$display) diff_cols else NULL,
198+
if ("fig_diff" %in% outdata$display) "diff_fig" else NULL
199+
))
200+
195201
hidden_cols <- outdata$hidden_column
196202
if (display_diff_toggle) {
197-
hidden_cols <- setdiff(hidden_cols, c(diff_cols, "diff_fig"))
203+
hidden_cols <- setdiff(hidden_cols, displayed_diff_cols)
198204
}
199205

200206
p_reactable <- reactable2(
@@ -204,7 +210,7 @@ ae_forestly <- function(outdata,
204210
hidden_item = paste0("'", hidden_cols, "'", collapse = ", "),
205211
soc_toggle = display_soc_toggle,
206212
diff_toggle = display_diff_toggle,
207-
diff_columns = c(diff_cols, "diff_fig"),
213+
diff_columns = displayed_diff_cols,
208214
width = width,
209215
download = dowload_button,
210216
searchable = FALSE,

R/format_ae_forestly.R

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,13 @@
3838
#' for risk difference figure.
3939
#' @param color A vector of colors for analysis groups.
4040
#' Default value supports up to 4 groups.
41+
#' @param ae_col_header Column header for adverse events item columns.
42+
#' If NULL (default) and "par" specified in `components` from `prepare_ae_forestly()`, uses "Adverse Event".
43+
#' If NULL and "soc" specified in `components` from `prepare_ae_forestly()`, uses "System Organ Class" for "soc".
4144
#' @param diff_label x-axis label for risk difference.
42-
#' @param col_header Column header for risk difference table columns.
45+
#' @param diff_col_header Column header for risk difference table columns.
4346
#' If NULL (default), uses "Risk Difference (%) <br> vs. Reference Group".
44-
#' @param fig_header Column header for risk difference figure.
47+
#' @param diff_fig_header Column header for risk difference figure.
4548
#' If NULL (default), uses "Risk Difference (%) + 95% CI <br> vs. Reference Group".
4649
#'
4750
#' @return An `outdata` object.
@@ -70,9 +73,10 @@ format_ae_forestly <- function(
7073
prop_range = NULL,
7174
diff_range = NULL,
7275
color = NULL,
76+
ae_col_header = NULL,
7377
diff_label = "Treatment <- Favor -> Placebo",
74-
col_header = NULL,
75-
fig_header = NULL) {
78+
diff_col_header = NULL,
79+
diff_fig_header = NULL) {
7680
display <- tolower(display)
7781

7882
display <- match.arg(
@@ -103,12 +107,20 @@ format_ae_forestly <- function(
103107
reference_name <- outdata$group[index_reference]
104108

105109
# Set default headers if not provided
106-
if (is.null(col_header)) {
107-
col_header <- paste0("Risk Difference (%) <br> vs. ", reference_name)
110+
if (is.null(ae_col_header)) {
111+
if ("par" %in% outdata$components) {
112+
ae_col_header <- "Adverse Event"
113+
} else if ("soc" %in% outdata$components) {
114+
ae_col_header <- "System Organ Class"
115+
}
116+
}
117+
118+
if (is.null(diff_col_header)) {
119+
diff_col_header <- paste0("Risk Difference (%) <br> vs. ", reference_name)
108120
}
109121

110-
if (is.null(fig_header)) {
111-
fig_header <- paste0("Risk Difference (%) + 95% CI <br> vs. ", reference_name)
122+
if (is.null(diff_fig_header)) {
123+
diff_fig_header <- paste0("Risk Difference (%) + 95% CI <br> vs. ", reference_name)
112124
}
113125

114126
# Input checking
@@ -247,7 +259,7 @@ format_ae_forestly <- function(
247259
)
248260
}
249261
columnGroups[[m_group + 1]] <- reactable::colGroup(
250-
name = col_header,
262+
name = diff_col_header,
251263
html = TRUE,
252264
columns = names(outdata$diff)
253265
)
@@ -261,7 +273,7 @@ format_ae_forestly <- function(
261273
show = FALSE
262274
),
263275
name = reactable::colDef(
264-
header = "Adverse Events",
276+
header = ae_col_header,
265277
minWidth = width_term, align = "right"
266278
),
267279
soc_name = reactable::colDef(
@@ -338,7 +350,7 @@ format_ae_forestly <- function(
338350

339351
# difference format
340352
col_diff_fig <- list(diff_fig = reactable::colDef(
341-
header = fig_header,
353+
header = diff_fig_header,
342354
defaultSortOrder = "desc",
343355
width = ifelse("fig_diff" %in% display, width_fig, 0),
344356
align = "center",

R/prepare_ae_forestly.R

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ prepare_ae_forestly <- function(
170170
order = info$order,
171171
parameter_order = parameter_order,
172172
group = res[[1]]$group,
173+
components = components,
173174
reference_group = res[[1]]$reference_group,
174175
prop = values$prop,
175176
diff = values$diff,

R/reactable2.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ reactable2 <- function(
157157

158158
buttons <- c(buttons, list(
159159
htmltools::tags$button(
160-
"Show/Hide Risk Difference Value",
160+
"Show/Hide Risk Difference",
161161
onclick = on_click_diff
162162
)
163163
))

man/format_ae_forestly.Rd

Lines changed: 9 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)