2013-11-28 5 views
3

Давайте посмотрим на один из demos.Уведомление пользователя о его плохом вводе в приложении Shiny

runExample("09_upload") 

Я использую прилагаемый файл для выполнения некоторых вычислений и отображения агрегированной производительности по всем загруженным файлам. Поэтому я использую что-то вроде

tryCatch(compute.smth(), error=function(e){}) 

, так что на отображаемый результат не влияет плохой ввод. Тем не менее, я хотел бы как-то указать, что загрузка плохого файла приводит к ошибке, уведомляя пользователя о проблеме с его вводом. Это будет что-то вроде

tryCatch(compute.smth(), error=badFile()) 

где badFile() должны изменить некоторые отображаемый выход. Есть идеи? В крайнем случае, this, вероятно, вариант, но я бы хотел, чтобы некоторые родные Блестящие.

+0

ShinyBS и ShinySky выглядят многообещающими, но если вы хотите что-то простое и легкое - http://shiny.rstudio.com/gallery/server-to-client-custom-messages.html – TheComeOnMan

ответ

5

Вы можете показать оповещения, как показано ниже с пакетом ShinySky: https://github.com/AnalytixWare/ShinySky

enter image description here

Вы можете установить пакет с помощью

install.packages("devtools")#if not alrady installed 
devtools::install_github("ShinySky","AnalytixWare") 

Поместите shinyalert (ID) в пользовательском интерфейсе. R, где вы хотите, чтобы появилось предупреждение.

В вашем server.R

  1. Убедитесь, что у вас есть 3 параметра Funciton передается в shinyServer egshinyServer (функция (вход, выход, сессия) {
  2. использование showshinyalert (ид, HTMLText, сессия) показать предупреждение. При нажатии на чеку уволит его.
  3. Смотрите эту суть, например https://gist.github.com/xiaodaigh/7707701

Run это тоже видит пример

shinysky::run.shinysky.example() 
Смежные вопросы