Примеры golem_opts при запуске приложения с использованием пакета golem - PullRequest
0 голосов
/ 27 октября 2019

Я пытался разработать более продвинутые приложения, используя этот новый пакет големов в R's Shiny, и наткнулся на эти golem_opts, которые могут быть интересными, но до сих пор не видел, чтобы никто не использовал его. Может кто-нибудь привести примеры вариантов этой функции? Заранее спасибо.

#' Run the Shiny Application
#'
#' @export
#' @importFrom shiny shinyApp
#' @importFrom golem with_golem_options


run_app <- function(...) {
  with_golem_options(
    app = shinyApp(ui = app_ui, server = app_server), 
    golem_opts = list(...)
  )
}

Я ожидаю получить больше настраиваемых приложений с помощью этого нового и интересного пакета под названием golem. Также, если возможно, не могли бы вы указать более продвинутое приложение, работающее с големом, помимо создателя пакета и учебных пособий? ПОКАЗАТЬ МНЕ КОДА Нет примеров этого пакета.

1 Ответ

3 голосов
/ 28 октября 2019

Вы можете проверить пример здесь

Эти два примера передачи аргументов здесь довольно бесполезны, но они предназначены для того, чтобы дать вам представление о том, что он делает.

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


Другие примеры (из внутренних приложений / клиентских приложений) включают вещинапример:

  • Установка локального или прод. в функции для использования prod или dev db
# Run the application
XXX::run_app(local = TRUE)

Тогда:

  if (golem::get_golem_options("local")){
    session$userData$mongo <- mongolite::mongo("XXX")
  } else {
    pass <- readRDS("~/.mongo_con")
    URI <- sprintf(
      "mongodb://%s:%s@%s/%s", 
      pass$USER, 
      pass$PASS, 
      pass$HOST, 
      pass$DB
    )
    session$userData$mongo <- mongolite::mongo("XXX", "XXX", url = URI)
  }
  • Настройка использования дБ
# Run the application
XXX::run_app(mongo_db = "dev")

Затем

session$userData$mongo <- mongolite::mongo(golem::get_golem_options("mongo_db"), "XXX")
  • Отображение / скрытие элементов пользовательского интерфейса
# Run the application
XXX::run_app(rights = "admin")

Затем

fluidPage(
 tagList(
  mod_base_ui("mod_base_1"),
  if (golem::get_golem_options("mongo_db") == "admin"){
   mod_admin_ui("mod_admin_ui"),
  }
 )
)

Дайте мне знать, если это поможет,

Колин


PS: спрашивать "ПОКАЗАТЬ КОДЕКС" и критиковать отсутствие документации довольно грубо, кстати. И то, и другое требует много времени для написания, большая часть времени идет от свободного времени разработчиков пакетов, так что вы можете использовать его бесплатно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...