From dcfc9ed86daaa091861b009b3a996311dc8e6e74 Mon Sep 17 00:00:00 2001 From: williamorim Date: Fri, 17 May 2024 14:18:51 -0300 Subject: [PATCH] gravando videos --- curso_gravado/.DS_Store | Bin 12292 -> 12292 bytes curso_gravado/scripts/25-observe-update.R | 29 ++++-- .../{26-modais.R => 26-observeEvent.R} | 5 +- .../{27-observeEvent.R => 27-modais.R} | 24 +++-- curso_gravado/scripts/28-reactiveVal.R | 97 ++++++++++-------- curso_gravado/scripts/dados.txt | 17 ++- 6 files changed, 111 insertions(+), 61 deletions(-) rename curso_gravado/scripts/{26-modais.R => 26-observeEvent.R} (90%) rename curso_gravado/scripts/{27-observeEvent.R => 27-modais.R} (71%) diff --git a/curso_gravado/.DS_Store b/curso_gravado/.DS_Store index 4728cbb2cda564c899f2773d545140853e80aab0..ee98ad602b8d0cf504b28f092554d39e65199480 100644 GIT binary patch delta 21 ccmZokXi3-*Ak1NGXsn}PWMZ*7LU@e~07>=+O8@`> delta 21 ccmZokXi3-*Ak1NEWUixNY-qkYLU@e~07^9mPXGV_ diff --git a/curso_gravado/scripts/25-observe-update.R b/curso_gravado/scripts/25-observe-update.R index 6149181..aab302a 100644 --- a/curso_gravado/scripts/25-observe-update.R +++ b/curso_gravado/scripts/25-observe-update.R @@ -1,7 +1,7 @@ library(shiny) ui <- fluidPage( - titlePanel("Validação"), + titlePanel("observe + update"), sidebarLayout( sidebarPanel( selectInput( @@ -12,8 +12,8 @@ ui <- fluidPage( selectInput( inputId = "carro", label = "Carro", - choices = c("Carregando..." = "") - ), + choices = "" + ) ), mainPanel( ) @@ -24,16 +24,27 @@ server <- function(input, output, session) { observe({ carros <- mtcars |> - dplyr::filter(cyl == input$cyl) |> - rownames() |> - sort() + dplyr::filter(cyl == input$cyl) |> + row.names() + updateSelectInput( - session, - "carro", + inputId = "carro", choices = carros ) }) + + + + } -shinyApp(ui, server) \ No newline at end of file +shinyApp(ui, server) + + + + + + + + diff --git a/curso_gravado/scripts/26-modais.R b/curso_gravado/scripts/26-observeEvent.R similarity index 90% rename from curso_gravado/scripts/26-modais.R rename to curso_gravado/scripts/26-observeEvent.R index dccb49c..f8c7451 100644 --- a/curso_gravado/scripts/26-modais.R +++ b/curso_gravado/scripts/26-observeEvent.R @@ -33,13 +33,12 @@ server <- function(input, output, session) { observeEvent(input$salvar, { tibble::tibble( nome = input$nome, - data_nascimento = input$data_nascimento, + data_nasc = input$data_nascimento, estado = input$estado ) |> write.table( - "dados.txt", + file = "dados.txt", append = TRUE, - sep = ",", row.names = FALSE, col.names = FALSE ) diff --git a/curso_gravado/scripts/27-observeEvent.R b/curso_gravado/scripts/27-modais.R similarity index 71% rename from curso_gravado/scripts/27-observeEvent.R rename to curso_gravado/scripts/27-modais.R index c19a10d..7f61c29 100644 --- a/curso_gravado/scripts/27-observeEvent.R +++ b/curso_gravado/scripts/27-modais.R @@ -44,14 +44,26 @@ server <- function(input, output, session) { col.names = FALSE ) - showModal(modalDialog( - title = "Dados salvos", - "Seus dados foram salvos com sucesso!", - easyClose = TRUE, - footer = NULL - )) + validacao <- TRUE + + if (validacao) { + showModal(modalDialog( + title = "Sucesso", + "Os seus dados foram salvos dentro do servidor com sucesso!", + footer = modalButton("Fechar"), + easyClose = TRUE + )) + } else { + showModal(modalDialog( + title = "Erro", + "Ocorreu algum erro na hora de salvar!" + )) + } + }) + + } shinyApp(ui, server) \ No newline at end of file diff --git a/curso_gravado/scripts/28-reactiveVal.R b/curso_gravado/scripts/28-reactiveVal.R index c08cb83..73ef057 100644 --- a/curso_gravado/scripts/28-reactiveVal.R +++ b/curso_gravado/scripts/28-reactiveVal.R @@ -1,30 +1,35 @@ library(shiny) -library(dplyr) ui <- fluidPage( titlePanel("Cadastro de clientes"), sidebarLayout( sidebarPanel( - h3("Adicionar cliente"), + h4("Adicionar novo cliente"), textInput( - "nome", - label = "Nome", + inputId = "nome", + label = "nome", value = "" ), textInput( - "email", + inputId = "email", label = "E-mail", value = "" ), - actionButton("adicionar", label = "Adicionar cliente"), + actionButton( + inputId = "adicionar", + label = "Adicionar cliente" + ), hr(), - h3("Remover cliente"), + h4("Remover um cliente"), selectInput( - "id", + inputId = "id", label = "ID do cliente", - choices = c("Carregando..." = "") + choices = "" ), - actionButton("remover", label = "Remover cliente") + actionButton( + inputId = "remover", + label = "Remover cliente" + ) ), mainPanel( tableOutput("tabela") @@ -33,50 +38,58 @@ ui <- fluidPage( ) server <- function(input, output, session) { - + tab_clientes <- reactiveVal(tibble::tibble( - id = 0L, - nome = "Fulano", - email = "fulano@gmail.com" + id = 1L, + nome = "William Amorim", + email = "william@email.com" )) - observe({ - clientes <- tab_clientes() |> - dplyr::pull(id) + observeEvent(input$adicionar, { + novo_id <- as.integer(max(tab_clientes()$id) + 1) + nova_tabela <- tab_clientes() |> + tibble::add_row(id = novo_id, nome = input$nome, email = input$email) - updateSelectInput( - session, - "id", - choices = clientes + tab_clientes(nova_tabela) + + showModal( + modalDialog( + title = "Sucesso", + "Cliente adicionado com sucesso" + ) ) }) - observeEvent(input$remover, { - if (!input$id %in% tab_clientes()$id) { - showModal(modalDialog( - title = "Erro", - "ID não encontrado", - footer = modalButton("Fechar"), - easyClose = TRUE - )) - } else { - nova_tab <- tab_clientes() |> - dplyr::filter(id != input$id) - tab_clientes(nova_tab) - } + output$tabela <- renderTable({ + tab_clientes() }) - observeEvent(input$adicionar, { - novo_id <- max(tab_clientes()$id) + 1L - nova_tab <- tab_clientes() |> - tibble::add_row(id = novo_id, nome = input$nome, email = input$email, .before = 1) - tab_clientes(nova_tab) + observe({ + ids <- sort(tab_clientes()$id) + + updateSelectInput( + inputId = "id", + choices = ids + ) }) - output$tabela <- renderTable({ - tab_clientes() + observeEvent(input$remover, { + + nova_tabela <- tab_clientes() |> + dplyr::filter(id != input$id) + + tab_clientes(nova_tabela) + }) + + } -shinyApp(ui, server) \ No newline at end of file +shinyApp(ui, server) + + + + + + diff --git a/curso_gravado/scripts/dados.txt b/curso_gravado/scripts/dados.txt index 31b483f..ca3b8d8 100644 --- a/curso_gravado/scripts/dados.txt +++ b/curso_gravado/scripts/dados.txt @@ -1 +1,16 @@ -"William Nilson de Amorim",2024-05-10,"Pará" +"William Amorim" 2024-05-17 "Pará" +"William Amorim" 2024-05-01 "Pará" +"William Amorim" 2024-05-01 "Pará" +"William Amorim" 2024-05-01 "Pará" +"William Amorim" 2024-05-01 "Pará" +"William Amorim" 2024-05-01 "Pará" +"William Amorim" 2024-05-01 "Pará" +"William Amorim" 2024-05-01 "Pará" +"William Amorim",2024-05-17,"Pará" +"William Amorim",2024-05-17,"Pará" +"William Amorim",2024-05-17,"Pará" +"",2024-05-17,"Pará" +"",2024-05-17,"Pará" +"",2024-05-17,"Pará" +"",2024-05-17,"Pará" +"",2024-05-17,"Pará"