diff --git a/R/data_plots.R b/R/data_plots.R index b5597dba..e46f1c12 100644 --- a/R/data_plots.R +++ b/R/data_plots.R @@ -15,9 +15,11 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { bslib::layout_sidebar( sidebar = bslib::sidebar( bslib::accordion( + id = "acc_plot", multiple = FALSE, bslib::accordion_panel( - title = "Creating plot", + value = "acc_pan_plot", + title = "Create plot", icon = bsicons::bs_icon("graph-up"), shiny::uiOutput(outputId = ns("primary")), shiny::helpText(i18n$t('Only non-text variables are available for plotting. Go the "Data" to reclass data to plot.')), @@ -36,6 +38,7 @@ data_visuals_ui <- function(id, tab_title = "Plots", ...) { shiny::helpText(i18n$t('Adjust settings, then press "Plot".')) ), bslib::accordion_panel( + value = "acc_pan_download", title = "Download", icon = bsicons::bs_icon("download"), shinyWidgets::noUiSliderInput( @@ -125,6 +128,11 @@ data_visuals_server <- function(id, code = NULL ) + shiny::observe({ + bslib::accordion_panel_update(id = "acc_plot", target = "acc_pan_plot",title = i18n$t("Create plot")) + bslib::accordion_panel_update(id = "acc_plot", target = "acc_pan_download",title = i18n$t("Download")) + }) + # ## --- New attempt # # rv$plot.params <- shiny::reactive({ @@ -407,7 +415,7 @@ data_visuals_server <- function(id, plot <- rv$plot[[1]] } # browser() - shiny::withProgress(message = i18n$t("Drawing the plot. Hold on for a moment.."), { + shiny::withProgress(message = i18n$t("Drawing the plot. Hold tight for a moment.."), { ggplot2::ggsave( filename = file, plot = plot, diff --git a/R/missings-module.R b/R/missings-module.R index c04a2561..562ae22c 100644 --- a/R/missings-module.R +++ b/R/missings-module.R @@ -60,12 +60,12 @@ data_missings_server <- function(id, if (is.null(variabler()) || variabler() == "" || !variabler() %in% names(datar())) { if (anyNA(datar())){ - title <- "No variable chosen for analysis" + title <- i18n$t("No variable chosen for analysis") } else { - title <- "No missing observations" + title <- i18n$t("No missing observations") } } else { - title <- glue::glue("Missing vs non-missing observations in the variable **'{variabler()}'**") + title <- glue::glue(i18n$t("Missing vs non-missing observations in the variable **'{variabler()}'**")) } out <- rv$data() |> diff --git a/R/regression-module.R b/R/regression-module.R index 78f459d9..24aec3ba 100644 --- a/R/regression-module.R +++ b/R/regression-module.R @@ -51,10 +51,11 @@ regression_ui <- function(id, ...) { sidebar = bslib::sidebar( shiny::uiOutput(outputId = ns("data_info"), inline = TRUE), bslib::accordion( + id = "acc_reg", open = "acc_reg", multiple = FALSE, bslib::accordion_panel( - value = "acc_reg", + value = "acc_pan_reg", title = "Regression", icon = bsicons::bs_icon("calculator"), shiny::uiOutput(outputId = ns("outcome_var")), @@ -133,14 +134,15 @@ regression_ui <- function(id, ...) { bslib::layout_sidebar( sidebar = bslib::sidebar( bslib::accordion( - open = "acc_reg", + id = "acc_coef_plot", + open = "acc_pan_coef_plot", multiple = FALSE, do.call( bslib::accordion_panel, c( list( - value = "acc_plot", - title = "Coefficient plot", + value = "acc_pan_coef_plot", + title = "Coefficients plot", icon = bsicons::bs_icon("bar-chart-steps"), shiny::tags$br(), shiny::uiOutput(outputId = ns("plot_model")) @@ -199,10 +201,11 @@ regression_ui <- function(id, ...) { bslib::layout_sidebar( sidebar = bslib::sidebar( bslib::accordion( - open = "acc_reg", + id = "acc_checks", + open = "acc_pan_checks", multiple = FALSE, bslib::accordion_panel( - value = "acc_checks", + value = "acc_pan_checks", title = "Checks", icon = bsicons::bs_icon("clipboard-check"), shiny::uiOutput(outputId = ns("plot_checks")) @@ -239,6 +242,12 @@ regression_server <- function(id, } }) + shiny::observe({ + bslib::accordion_panel_update(id = "acc_reg", target = "acc_pan_reg", title = i18n$t("Regression")) + bslib::accordion_panel_update(id = "acc_coef_plot", target = "acc_pan_coef_plot", title = i18n$t("Coefficients plot")) + bslib::accordion_panel_update(id = "acc_checks", target = "acc_pan_checks", title = i18n$t("Checks")) + }) + output$data_info <- shiny::renderUI({ shiny::req(regression_vars()) shiny::req(data_r()) diff --git a/R/ui_elements.R b/R/ui_elements.R index 391b693a..338a3be9 100644 --- a/R/ui_elements.R +++ b/R/ui_elements.R @@ -28,7 +28,7 @@ ui_elements <- function(selection) { shiny::column(width = 2), shiny::column( width = 8, - shiny::uiOutput(outputId = "language_select"), + # shiny::uiOutput(outputId = "language_select"), htmlOutput("intro_text") # shiny::includeHTML(i18n$t("www/intro.html")) # shiny::markdown(readLines(i18n$t("www/intro.md"))) @@ -180,7 +180,7 @@ ui_elements <- function(selection) { width = 9, shiny::uiOutput(outputId = "data_info", inline = TRUE), shiny::tags$p( - i18n$t("Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse data and apply different data filters.") + i18n$t("Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse observations and apply different data filters.") ) ), shiny::column( @@ -195,7 +195,7 @@ ui_elements <- function(selection) { shiny::br(), shiny::actionButton( inputId = "modal_browse", - label = i18n$t("Browse data"), + label = i18n$t("Browse observations"), width = "100%", disabled = TRUE ), @@ -350,11 +350,12 @@ ui_elements <- function(selection) { sidebar = bslib::sidebar( shiny::uiOutput(outputId = "data_info_nochar", inline = TRUE), bslib::accordion( + id="acc_chars", open = "acc_chars", multiple = FALSE, bslib::accordion_panel( open = TRUE, - value = "acc_chars", + value = "acc_pan_chars", title = "Settings", icon = bsicons::bs_icon("table"), shiny::uiOutput("strat_var"), @@ -395,11 +396,12 @@ ui_elements <- function(selection) { sidebar = bslib::sidebar( # shiny::uiOutput(outputId = "data_info_nochar", inline = TRUE), bslib::accordion( + id="acc_cor", open = "acc_chars", multiple = FALSE, bslib::accordion_panel( - value = "acc_cor", - title = "Correlations", + value = "acc_pan_cor", + title = "Settings", icon = bsicons::bs_icon("bounding-box"), shiny::uiOutput("outcome_var_cor"), shiny::helpText("To avoid evaluating the correlation of the outcome variable, this can be excluded from the plot or select 'none'."), @@ -427,17 +429,19 @@ ui_elements <- function(selection) { bslib::layout_sidebar( sidebar = bslib::sidebar( bslib::accordion( + id = "acc_mis", open = "acc_chars", multiple = FALSE, bslib::accordion_panel( - vlaue = "acc_mis", - title = "Missings", + value = "acc_pan_mis", + title = "Settings", icon = bsicons::bs_icon("x-circle"), shiny::uiOutput("missings_var"), shiny::helpText("To consider if data is missing by random, choose the outcome/dependent variable, if it has any missings to evaluate if there is a significant difference across other variables depending on missing data or not.") ) ) ), + validation_ui("validation_mcar"), data_missings_ui(id = "missingness") ) ) diff --git a/inst/translations/translation_da.csv b/inst/translations/translation_da.csv index eeb060c7..d15afbaa 100644 --- a/inst/translations/translation_da.csv +++ b/inst/translations/translation_da.csv @@ -18,9 +18,7 @@ "
The FreesearchR app only stores data for analyses, but please only use with sensitive data when running locally. Read more here
","FreesearchR opbevarer alene data i forbindelse med din analyse, men du bør kun behandle personfølsomme data når du kører FreesearchR direkte på dine egen maskine. Læs mere her
" "Overview and filter","Overblik og filtre" "Overview and filtering","Overblik og filtrering" -"Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse data and apply different data filters.","Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse data and apply different data filters." "Visual overview","Visuelt overblik" -"Browse data","Udforsk data" "Filter data types","Filtrer datatyper" "Filter observations","Filtrer observationer" "Apply filter on observation","Anvend filtre af observationer" @@ -113,24 +111,23 @@ "and","og" "from each pair","fra hvert par" "Only non-text variables are available for plotting. Go the ""Data"" to reclass data to plot.","Only non-text variables are available for plotting. Go the ""Data"" to reclass data to plot." -"Plot","Plot" +"Plot","Tegn" "Adjust settings, then press ""Plot"".","Adjust settings, then press ""Plot""." "Plot height (mm)","Plot height (mm)" "Plot width (mm)","Plot width (mm)" "File format","File format" -"Download plot","Download plot" -"Select variable","Select variable" -"Response variable","Response variable" -"Plot type","Plot type" -"Please select","Please select" -"Additional variables","Additional variables" -"Secondary variable","Secondary variable" -"No variable","No variable" -"Grouping variable","Grouping variable" -"No stratification","No stratification" -"Drawing the plot. Hold tight for a moment..","Drawing the plot. Hold tight for a moment.." -"#Plotting\n","#Plotting\n" -"Drawing the plot. Hold on for a moment..","Drawing the plot. Hold on for a moment.." +"Download plot","Download grafik" +"Select variable","Vælg variabel" +"Response variable","Svarvariable" +"Plot type","Type af grafik" +"Please select","Vælg" +"Additional variables","Yderligere variabler" +"Secondary variable","Sekundær variabel" +"No variable","Ingen variabel" +"Grouping variable","Variabel til gruppering" +"No stratification","Ingen stratificering" +"Drawing the plot. Hold tight for a moment..","Tegner grafikken. Spænd selen.." +"#Plotting\n","#Tegner\n" "Stacked horizontal bars","Stacked horizontal bars" "A classical way of visualising the distribution of an ordinal scale like the modified Ranking Scale and known as Grotta bars","A classical way of visualising the distribution of an ordinal scale like the modified Ranking Scale and known as Grotta bars" "Violin plot","Violin plot" @@ -141,5 +138,25 @@ "A classic way of showing the association between to variables","A classic way of showing the association between to variables" "Box plot","Box plot" "A classic way to plot data distribution by groups","A classic way to plot data distribution by groups" -"Euler diagram","Euler diagram" +"Euler diagram","Eulerdiagram" "Generate area-proportional Euler diagrams to display set relationships","Generate area-proportional Euler diagrams to display set relationships" +"Documentation","Dokumentation" +"Data is only stored for analyses and deleted when the app is closed.","Data is only stored for analyses and deleted when the app is closed." +"Consider [running ***FreesearchR*** locally](https://agdamsbo.github.io/FreesearchR/#run-locally-on-your-own-machine) if working with sensitive data.","Consider [running ***FreesearchR*** locally](https://agdamsbo.github.io/FreesearchR/#run-locally-on-your-own-machine) if working with sensitive data." +"Feedback","Feedback" +"License: AGPLv3","Licens: AGPLv3" +"Source","Kilde" +"There are {p_miss} % missing observations.","There are {p_miss} % missing observations." +"Data includes {n_pairs} pairs of highly correlated variables.","Der er {n_pairs} variabel-par, der er stærkt internt korrelerede." +"Create plot","Dan grafik" +"Coefficients plot","Koefficientgraf" +"Checks","Checks" +"Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse observations and apply different data filters.","Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse observations and apply different data filters." +"Browse observations","Gennemse observationer" +"Settings","Indstillinger" +"The following error occured on determining correlations:","The following error occured on determining correlations:" +"We encountered the following error creating your report:","We encountered the following error creating your report:" +"No variable chosen for analysis","No variable chosen for analysis" +"No missing observations","No missing observations" +"Missing vs non-missing observations in the variable **'{variabler()}'**","Missing vs non-missing observations in the variable **'{variabler()}'**" +"There is a significant correlation between {n_nonmcar} variables and missing observations in the outcome variable {outcome}.","There is a significant correlation between {n_nonmcar} variables and missing observations in the outcome variable {outcome}." diff --git a/inst/translations/translation_sw.csv b/inst/translations/translation_sw.csv index d1c447ae..fdc05a2e 100644 --- a/inst/translations/translation_sw.csv +++ b/inst/translations/translation_sw.csv @@ -18,9 +18,7 @@ "The FreesearchR app only stores data for analyses, but please only use with sensitive data when running locally. Read more here
","The FreesearchR app only stores data for analyses, but please only use with sensitive data when running locally. Read more here
" "Overview and filter","Overview and filter" "Overview and filtering","Overview and filtering" -"Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse data and apply different data filters.","Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse data and apply different data filters." "Visual overview","Visual overview" -"Browse data","Browse data" "Filter data types","Filter data types" "Filter observations","Filter observations" "Apply filter on observation","Apply filter on observation" @@ -130,7 +128,6 @@ "No stratification","No stratification" "Drawing the plot. Hold tight for a moment..","Drawing the plot. Hold tight for a moment.." "#Plotting\n","#Plotting\n" -"Drawing the plot. Hold on for a moment..","Drawing the plot. Hold on for a moment.." "Stacked horizontal bars","Stacked horizontal bars" "A classical way of visualising the distribution of an ordinal scale like the modified Ranking Scale and known as Grotta bars","A classical way of visualising the distribution of an ordinal scale like the modified Ranking Scale and known as Grotta bars" "Violin plot","Violin plot" @@ -143,3 +140,23 @@ "A classic way to plot data distribution by groups","A classic way to plot data distribution by groups" "Euler diagram","Euler diagram" "Generate area-proportional Euler diagrams to display set relationships","Generate area-proportional Euler diagrams to display set relationships" +"Documentation","Documentation" +"Data is only stored for analyses and deleted when the app is closed.","Data is only stored for analyses and deleted when the app is closed." +"Consider [running ***FreesearchR*** locally](https://agdamsbo.github.io/FreesearchR/#run-locally-on-your-own-machine) if working with sensitive data.","Consider [running ***FreesearchR*** locally](https://agdamsbo.github.io/FreesearchR/#run-locally-on-your-own-machine) if working with sensitive data." +"Feedback","Feedback" +"License: AGPLv3","License: AGPLv3" +"Source","Source" +"There are {p_miss} % missing observations.","There are {p_miss} % missing observations." +"Data includes {n_pairs} pairs of highly correlated variables.","Data includes {n_pairs} pairs of highly correlated variables." +"Create plot","Create plot" +"Coefficients plot","Coefficients plot" +"Checks","Checks" +"Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse observations and apply different data filters.","Below you find a summary table for quick insigths, and on the right you can visualise data classes, browse observations and apply different data filters." +"Browse observations","Browse observations" +"Settings","Settings" +"The following error occured on determining correlations:","The following error occured on determining correlations:" +"We encountered the following error creating your report:","We encountered the following error creating your report:" +"No variable chosen for analysis","No variable chosen for analysis" +"No missing observations","No missing observations" +"Missing vs non-missing observations in the variable **'{variabler()}'**","Missing vs non-missing observations in the variable **'{variabler()}'**" +"There is a significant correlation between {n_nonmcar} variables and missing observations in the outcome variable {outcome}.","There is a significant correlation between {n_nonmcar} variables and missing observations in the outcome variable {outcome}."