Блестящий: проблемы с actionButton (нет вторжения сигнала даже - PullRequest
0 голосов
/ 21 марта 2019

Я создаю приложение Shiny и в течение последних двух дней меня блокируют на следующем шаге: я поместил кнопку «Отправить» на форму шрифта, и, очевидно, проблем нет, но каждый раз, когда я запускаю Приложение, которое я не могу щелкнуть по нему, потому что в самом начале оно показывает мне сигнал «не посягать», запрещающий мне больше ничего не делать.

Вот код, который я использую:

    # Packages ----
if(require("pacman")=="FALSE"){
  install.packages("pacman")
}
library(pacman)
pacman::p_load(dplyr, tidyr, shiny, shinydashboard)



# Global scope ----

dish <- c("Salad", "Spaghetti Carbonara", "Scrambled eggs")
allergens <- c("sesame", "lactose", "eggs")
keywords <- c("veggie", "pasta", "none")
dishes <- data.frame(dish, allergens, keywords)


# Function to label mandatory fields ----
labelMandatory <- function(label) {
  tagList(
    label,
    span("*", class = "mandatory_star")
  )
}

appCSS <- ".mandatory_star { color: red; }" #to make the asterisk red

MandatoryFields_dishes <- c(names(dishes[,-3]))
fields_dishes <- c(names(dishes))



ui <- dashboardPage(
                    dashboardHeader(title = "sample"),
                    dashboardSidebar(
                      sidebarMenu(
                        menuItem("Dishes", tabName = "dishes")
                      )
                    ),

                    dashboardBody(

                      # Dishes
                      tabItems(
                        tabItem(tabName = "dishes",
                                tabsetPanel(
                                  tabPanel("Typeform",
                                           fluidPage(
                                             shinyjs::useShinyjs(),
                                             shinyjs::inlineCSS(appCSS),
                                             titlePanel("Dish introduction"),
                                             div(
                                               id="form",
                                               textInput("dish", labelMandatory("Dishes"), ""),
                                               textInput("allergens", label = "Allergens",""),
                                               textInput("keyword", label = "Keyword", ""),
                                               actionButton("submit", "Submit", class="btn-primary")
                                             )
                                           ))
                                ))

                      ))
)



server <- function(input, output) {



  observe({
    mandatoryFilled_dishes <-
      vapply(MandatoryFields_dishes,
             function(x) {
               !is.null(input[[x]]) && input[[x]] != ""
             },
             logical(1))
    mandatoryFilled_dishes <- all(mandatoryFilled_dishes)

    shinyjs::toggleState(id = "submit", condition = mandatoryFilled_dishes)
  })


}


shinyApp(ui, server)

Полагаю, мне что-то не хватает на сервере. Если кто-то может мне помочь, я буду очень благодарен, большое спасибо заранее.

...