app.R

library(test)
library(snakecase)
library(uuid)
library(storr)
library(gdata)
library(shinythemes)
library(lubridate)
library(thematic)
library(readr)

devtools::load_all()
dotenv::load_dot_env()

if (FALSE) {
  con <- connect_table()
  sessions <- tbl(con, "sessions") %>% collect()
  print(sessions)
}

if (FALSE) {
  con <- connect_table()
  dbRemoveTable(con, 'sessions')
}

router <- make_router(
  route("/", test_home_page()),
  route("analysis_a", analysis_a_run(id = "analysis_a"))
)

sass(
  sass_file("www/styles.scss"),
  output = "www/styles.css"
)

ui <-
  function(incoming, user = "testuser", is_admin = TRUE) {
    fluidPage(
      # theme = shinytheme("flatly"),
      title = "BioMarin TEST",
      headers(),
      fluidRow(
        column(
          8,
          offset = 2,
          navbar(),
          div(p(glue("Logged in as {user}"), class = "text-right"), {
            if (is_admin) {
              administration_ui('administration')
            } else {
              div()
            }
          }),
          router$ui
        )
      )
    )
  }

server <- function(input, output, session, user = "fr904103", is_admin = FALSE, cache=FALSEs) {

  router$server(input, output, session)

  callModule(administration_server, "administration", user, is_admin)

  session_settings <- callModule(analysis_a_session_setup_server, "analysis_a_session_setup")
  observe({
    session_settings()
    updateTabsetPanel(session, "inTabsetAnalysisA",
      selected = "Analysis Setup"
    )
  })

  analysis_data <- callModule(analysis_a_setup_server, "analysis_a_setup", session_settings, user, is_admin)
  observe({
    analysis_data()
    updateTabsetPanel(session, "inTabsetAnalysisA",
                      selected = "Plots"
    )
  })

  callModule(analysis_a_run_server, "analysis_a", session_settings, analysis_data, user, is_admin, cache)
}
# thematic::thematic_shiny()
runApp(shinyApp(ui = ui, server = server))
fdrennan/test documentation built on April 23, 2022, 12:37 a.m.