FreesearchR/app/ui.R

124 lines
3.3 KiB
R

require(shiny)
require(bslib)
# require(ggplot2)
# source("https://raw.githubusercontent.com/agdamsbo/cognitive.index.lookup/main/R/index_from_raw.R")
# source("https://raw.githubusercontent.com/agdamsbo/cognitive.index.lookup/main/R/plot_index.R")
# source(here::here("R/index_from_raw.R"))
# source(here::here("R/plot_index.R"))
# ui <- fluidPage(
cards <- list(
bslib::card(
max_height = "200px",
full_screen = TRUE,
bslib::card_header("Data overview"),
shiny::uiOutput("data.input")
),
bslib::card(
# max_height = "200px",
full_screen = TRUE,
bslib::card_header("Baseline characteristics"),
gt::gt_output(outputId = "table1")
),
bslib::card(
full_screen = TRUE,
bslib::card_header("Multivariable regression table"),
gt::gt_output(outputId = "table2")
)
)
ui <- bslib::page_sidebar(
theme = bslib::bs_theme(bootswatch = "minty"),
title = "webResearcher for easy data analysis",
window_title = "webResearcher",
header = h6("Welcome to the webResearcher tool. This is an early alpha version to act as a proof-of-concept and in no way intended for wider public use."),
# sidebarPanel(
sidebar = bslib::sidebar(
open = "open",
h4("Upload your dataset"),
# Input: Select a file ----
fileInput(
inputId = "file",
label = "Choose data file",
multiple = FALSE,
accept = c(
"text/csv",
"text/comma-separated-values,text/plain",
".csv",
".xlsx",
".xls",
".dta",
".ods"
)
),
conditionalPanel(
condition = "output.uploaded=='yes'",
h4("Parameter specifications"),
radioButtons(
inputId = "regression_auto",
label = "Automatically choose function",
inline = TRUE,
choiceNames = c(
"Yes",
"No"
),
choiceValues = c(1, 2)
),
conditionalPanel(
condition = "input.regression_auto==2",
textInput(
inputId = "regression_formula",
label = "Formula string to render with 'glue::glue'",
value = "{outcome.str}~."
),
textInput(
inputId = "regression_fun",
label = "Function to use for analysis (needs pasckage and name)",
value = "stats::lm"
),
textInput(
inputId = "regression_args",
label = "Arguments to pass to the function (provided as a string)",
value = ""
)
),
helpText(em("Please specify relevant columns from your data, and press 'Load data'")),
uiOutput("outcome_var"),
radioButtons(
inputId = "all",
label = "Specify covariables",
inline = TRUE, selected = 2,
choiceNames = c(
"Yes",
"No"
),
choiceValues = c(1, 2)
),
conditionalPanel(
condition = "input.all==1",
uiOutput("include_vars")
),
actionButton("load", "Analyse", class = "btn-primary")
)
# ,
#
# # Horizontal line ----
# tags$hr(),
# h4("Download results"),
#
# # Button
# downloadButton(outputId="report",
# label= "Download",
# icon = shiny::icon("download"))
),
layout_columns(
cards[[1]]
),
layout_columns(
cards[[2]], cards[[3]]
)
)