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