R/data_loader_helpers.R

Defines functions load_file_server load_file_ui

load_file_ui <- function(id){
  ns <- NS(id)
  fluidPage(

  fluidRow(column(width = 3, uiOutput(ns("tisefka_file"))),
           column(width = 3, uiOutput(ns("excel_tawriqt"))))
  )
}


load_file_server <- function(input, output, session, i18n){

  output$tisefka_file <- renderUI({
    fileInput(inputId = session$ns("tisefka_file"), label = i18n$t("Choose file(csv text xls)"),
              multiple = FALSE,
              accept = c("csv")
    )
  })
  file_tasetta <- reactive({
    req(input$tisefka_file)
    tools::file_ext(input$tisefka_file$name)
  })

  excel_tiwriqin <- reactive({
    req(input$tisefka_file)
    req(file_tasetta())
    if(file_tasetta()=="csv")return(".csv")
    if(file_tasetta()=="xlsx"){
      readxl::excel_sheets(input$tisefka_file$datapath)
    }
  })

  output$excel_tawriqt <- renderUI({
    req(req(input$tisefka_file))
    req(file_tasetta())
    req(excel_tiwriqin())
    excel_sheets <- excel_tiwriqin()
    xl_label <- "Target Sheet"
    if(excel_tiwriqin() == ".csv"){
      excel_sheets <- gsub(".csv","",input$tisefka_file$name)
    }
    shinyWidgets::pickerInput(
      inputId = session$ns("excel_tawriqt"),
      label = i18n$t(xl_label),
      choices = excel_sheets
    )
  })


  tisefka <- reactive({
    req(input$tisefka_file)
    req(file_tasetta())
    req(input$excel_tawriqt)
    tisefka <- SaldaeDataExplorer::ghred_tisefka_aqerru(input_file = input$tisefka_file , tala = file_tasetta(), tawriqt = input$excel_tawriqt)
    shinyalert::shinyalert(i18n$t("Data Upload"), text = i18n$t("Data Successfully uploaded"), type = "success",
                           closeOnClickOutside  = TRUE,showConfirmButton = TRUE)
    return(tisefka)
  })
}
Aqvayli06/SaldaeModulesUI documentation built on Feb. 4, 2024, 6:25 a.m.