# ######################## # BIBLIOTHEQUE # ######################## library(shiny) library(shinydashboard) library(dplyr) library(ggplot2) library(DT) # ####################### # UI # ####################### ui <- dashboardPage( dashboardHeader(title = "ELAN INFO"), dashboardSidebar(collapsed = TRUE, sidebarMenu(id = "tabs", menuItem("Dashboard", tabName = "tab_dashboard", icon = icon("dashboard")), menuItem("Lecture de données", tabName = "tab_readData", icon = icon("bar-chart-o")), menuItem("Visualiser les données", tabName = "tab_visualization", icon = icon("eye")) ) ), body <- dashboardBody( tabItems( tabItem(tabName = "tab_visualization", h2("visualiser les données")), tabItem(tabName = "tab_dashboard", h2("Tableau de bord")), tabItem(tabName = "tab_readData", h3("Importation des données"), fileInput("dataFile",label = NULL, buttonLabel = "Navigateur...", placeholder = "Sélectionner un fichier"), fluidRow( column(width = 3, offset = -1, h3("Paramètres"), radioButtons(inputId = "header", label = "Entête", choices = c("oui"= TRUE, "non"= FALSE), selected = TRUE, inline=T,)), fluidRow( column(width = 5, offset = 1, h2(""), radioButtons(inputId = "sep", label = "Séparateur", choices = c(Virgule = ",", 'Point Virgule' = ";", Tabulation = "\t"), selected = ";", inline=T,)), fluidRow( column(width = 8, offset = -2, h2(""), radioButtons(inputId = "quote", label = "Guillemet", choices = c(Aucun = "", "Double Guillemets" = '"', "Single Guillemet" = "'"), selected = "", inline=T)), tags$br(), div(actionButton(inputId = "visualization", label = "Visualiser",icon = icon("play") ), align = "center") ), fluidRow( column(width = 9, offset = 1, h3("Fichier prévisualisé"), dataTableOutput("tab_preview") ) ) ))) ) ), skin = c("yellow") ) # ########################## # SERVER # ########################## server <- function(input, output) { output$tab_preview <- renderDataTable(filter='none',{ req(input$dataFile) df <- read.csv(input$dataFile$datapath, header = as.logical(input$header), sep = input$sep, quote = input$quote, nrows=6 ) }, options = list(scrollX = TRUE , dom = 't')) } updateTabItems(session, "tabs", selected = "tab_preview") data <- reactiveValues() # ============================================================================ # Preview # ============================================================================ # ============================================================================ # Lecture # ============================================================================ observeEvent(input$tab_preview, { if(!is.null(input$dataFile$datapath)){ data$table = read.csv(input$dataFile$datapath, header = as.logical(input$header), sep = input$sep, quote = input$quote) updateTabItems(session, "tabs", selected = "tab_preview") } }) observeEvent(input$visualization, { tab_visualization <- input$tab_preview }) shinyApp(ui, server)