refactor: push all global vars to globla options
This commit is contained in:
@@ -1,6 +1,13 @@
|
||||
.on_load = function(ns) {
|
||||
|
||||
check_and_init_scheme()
|
||||
|
||||
# set global settings:
|
||||
set_global_options(
|
||||
shiny.host = "0.0.0.0",
|
||||
shiny.port = 1338,
|
||||
APP.DEBUG = FALSE
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
@@ -8,9 +15,6 @@
|
||||
#' @description костыли для упрощения работы себе
|
||||
set_global_options = function(
|
||||
SYMBOL_DELIM = "; ",
|
||||
APP.DEBUG = FALSE,
|
||||
# shiny.host = "127.0.0.1",
|
||||
# shiny.port = 1338,
|
||||
...
|
||||
) {
|
||||
|
||||
@@ -33,17 +37,21 @@ set_global_options = function(
|
||||
|
||||
options(
|
||||
SYMBOL_DELIM = SYMBOL_DELIM,
|
||||
# form.db_path = config::get("form_db_path"),
|
||||
APP.DEBUG = APP.DEBUG,
|
||||
# shiny.host = shiny.host,
|
||||
# shiny.port = shiny.port,
|
||||
...
|
||||
)
|
||||
}
|
||||
|
||||
# global vars ------------------------------------
|
||||
#' @export
|
||||
AUTH_ENABLED <- config::get("form_auth_enabled")
|
||||
|
||||
#' @export
|
||||
#' TODO: нормальный разворот
|
||||
ENABLED_SCHEMES <- unlist(config::get()$form_schemes)
|
||||
ENABLED_SCHEMES <- stats::setNames(names(ENABLED_SCHEMES), ENABLED_SCHEMES)
|
||||
|
||||
# -------------------------------------------------
|
||||
|
||||
#' @export
|
||||
check_and_init_scheme = function() {
|
||||
|
||||
|
||||
34
app.R
34
app.R
@@ -9,7 +9,6 @@ box::use(
|
||||
# modules
|
||||
box::use(
|
||||
R/modules/utils,
|
||||
R/modules/global_options,
|
||||
R/modules/db,
|
||||
R/modules/data_validation,
|
||||
R/app/forms,
|
||||
@@ -18,23 +17,12 @@ box::use(
|
||||
R/modules/data_manipulations[is_this_empty_value]
|
||||
)
|
||||
|
||||
# set global settings:
|
||||
global_options$set_global_options(
|
||||
shiny.host = "0.0.0.0",
|
||||
shiny.port = 1338,
|
||||
APP.DEBUG = FALSE
|
||||
)
|
||||
|
||||
# global vars:
|
||||
# TODO: загружается автоматически при загрузке всего модуля, нужно ли засирать файл?
|
||||
# глобальные переменные и проверка/инициация схемы:
|
||||
box::use(
|
||||
R/modules/global_options[AUTH_ENABLED]
|
||||
R/modules/global_options[AUTH_ENABLED, ENABLED_SCHEMES],
|
||||
)
|
||||
enabled_schemes <- unlist(config::get()$form_schemes)
|
||||
enabled_schemes <- setNames(names(enabled_schemes), enabled_schemes)
|
||||
|
||||
# load schemes object:
|
||||
schms <- readRDS("temp/scheme.rds")
|
||||
SCHMS <- readRDS("temp/scheme.rds")
|
||||
|
||||
# CHECK FOR PANDOC ----------
|
||||
# rmarkdown::find_pandoc(dir = "/opt/homebrew/bin/")
|
||||
@@ -131,7 +119,7 @@ server <- function(input, output, session) {
|
||||
forms_access <- stringr::str_split_1(string, ", ")
|
||||
|
||||
# check if exists
|
||||
exists <- forms_access %in% enabled_schemes
|
||||
exists <- forms_access %in% ENABLED_SCHEMES
|
||||
if (!all(exists)) {
|
||||
cli::cli_warn(c("these forms is not exist:", paste("- ", forms_access[!exists])))
|
||||
}
|
||||
@@ -188,7 +176,7 @@ server <- function(input, output, session) {
|
||||
nested_form_id = NULL,
|
||||
tasks_id = NULL,
|
||||
current_user = NULL,
|
||||
user_form_access = enabled_schemes
|
||||
user_form_access = ENABLED_SCHEMES
|
||||
)
|
||||
|
||||
scheme <- reactiveVal(NULL) # наименование выбранной схемы
|
||||
@@ -216,16 +204,16 @@ server <- function(input, output, session) {
|
||||
allowed_schemas <- if (is.na(res)) {
|
||||
NA # нет доступа
|
||||
} else if (res == "all") {
|
||||
enabled_schemes # все схемы
|
||||
ENABLED_SCHEMES # все схемы
|
||||
} else {
|
||||
enabled_schemes[enabled_schemes == res] # только указанные
|
||||
ENABLED_SCHEMES[ENABLED_SCHEMES == res] # только указанные
|
||||
}
|
||||
|
||||
# переопределяем переменные
|
||||
main_form_is_empty(ifelse(is.na(res), "empty", "main_menu"))
|
||||
values$user_form_access <- allowed_schemas
|
||||
scheme(values$user_form_access[1])
|
||||
mhcs(schms[[values$user_form_access[1]]])
|
||||
mhcs(SCHMS[[values$user_form_access[1]]])
|
||||
})
|
||||
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -325,7 +313,7 @@ server <- function(input, output, session) {
|
||||
observeEvent(input$schmes_selector, {
|
||||
|
||||
scheme(input$schmes_selector)
|
||||
mhcs(schms[[input$schmes_selector]])
|
||||
mhcs(SCHMS[[input$schmes_selector]])
|
||||
|
||||
})
|
||||
|
||||
@@ -781,7 +769,7 @@ server <- function(input, output, session) {
|
||||
need(values$main_key, "⚠️ Необходимо указать id пациента!")
|
||||
)
|
||||
span(
|
||||
strong("Таблица: "), names(enabled_schemes)[enabled_schemes == scheme()],
|
||||
strong("Таблица: "), names(ENABLED_SCHEMES)[ENABLED_SCHEMES == scheme()],
|
||||
br(),
|
||||
strong("ID: "), values$main_key
|
||||
)
|
||||
@@ -1042,7 +1030,7 @@ server <- function(input, output, session) {
|
||||
list_of_df[["meta"]] <- dplyr::tribble(
|
||||
~`Параметр` , ~`Значение`,
|
||||
"Пользователь" , values$current_user,
|
||||
"Название базы" , names(enabled_schemes)[enabled_schemes == scheme()],
|
||||
"Название базы" , names(ENABLED_SCHEMES)[ENABLED_SCHEMES == scheme()],
|
||||
"id базы" , scheme(),
|
||||
"id формы" , config::get("form_id"),
|
||||
"ver формы" , config::get("form_app_version"),
|
||||
|
||||
Reference in New Issue
Block a user