refactor: some code refactoring

This commit is contained in:
2026-04-23 12:55:39 +03:00
parent 7b6cbc67e4
commit 0c3c35936e
3 changed files with 58 additions and 55 deletions

19
app.R
View File

@@ -33,14 +33,12 @@ box::use(
box::use(app/forms) box::use(app/forms)
box::use(app/tasks) box::use(app/tasks)
# SETTINGS ================================
HEADER_TEXT <- config::get("form_name")
# refactor LATER --------- # refactor LATER ---------
vv <- unlist(config::get()$form_schemes) vv <- unlist(config::get()$form_schemes)
enabled_schemes <- names(vv) enabled_schemes <- names(vv)
vvvv <- unname(vv) vvvv <- unname(vv)
names(enabled_schemes) <- vvvv names(enabled_schemes) <- vvvv
# ------------------------
# CHECK FOR PANDOC # CHECK FOR PANDOC
# TEMP ! NEED TO HANDLE # TEMP ! NEED TO HANDLE
@@ -54,9 +52,9 @@ schms <- readRDS("scheme.rds")
# UI ======================= # UI =======================
ui <- page_sidebar( ui <- page_sidebar(
# title = HEADER_TEXT, # title = config::get("form_name"),
title = tagList( title = tagList(
h4(HEADER_TEXT, style = "margin-top: .5rem"), h4(config::get("form_name"), style = "margin-top: .5rem"),
popover( popover(
span( span(
config::get("form_app_version"), config::get("form_app_version"),
@@ -64,7 +62,7 @@ ui <- page_sidebar(
style = "color: #9c9c9c"), style = "color: #9c9c9c"),
title = "about", title = "about",
placement = "left", placement = "left",
p("a"), p("b") tagList(span("здесь пока ничего нет"), br(), span("вот"))
) )
), ),
theme = bs_theme(version = 5, preset = "bootstrap"), theme = bs_theme(version = 5, preset = "bootstrap"),
@@ -77,7 +75,7 @@ ui <- page_sidebar(
uiOutput("status_message"), uiOutput("status_message"),
textOutput("status_message2"), textOutput("status_message2"),
uiOutput("display_log"), uiOutput("display_log"),
actionButton("tasks-shieesh", "Задачи: нет активных"), actionButton("tasks-display_task_modal", "Задачи: нет активных"),
position = "left", position = "left",
open = list(mobile = "always") open = list(mobile = "always")
), ),
@@ -92,7 +90,7 @@ if (AUTH_ENABLED) {
shinymanager::secure_app( shinymanager::secure_app(
status = "primary", status = "primary",
tags_top = tags$div( tags_top = tags$div(
tags$h3(HEADER_TEXT, style = "align:center"), tags$h3(config::get("form_name"), style = "align:center"),
# tags$img( # tags$img(
# src = "https://www.r-project.org/logo/Rlogo.png", width = 100 # src = "https://www.r-project.org/logo/Rlogo.png", width = 100
# ) # )
@@ -145,6 +143,7 @@ server <- function(input, output, session) {
} }
} }
# update user name
values$current_user <- ifelse(AUTH_ENABLED, res_auth$user, "anonymous") values$current_user <- ifelse(AUTH_ENABLED, res_auth$user, "anonymous")
if (showing_buttons) { if (showing_buttons) {
@@ -168,7 +167,7 @@ server <- function(input, output, session) {
main_key = NULL, main_key = NULL,
nested_key = NULL, nested_key = NULL,
nested_form_id = NULL, nested_form_id = NULL,
tasks_id_selector = NULL, tasks_id = NULL,
current_user = NULL current_user = NULL
) )
@@ -195,6 +194,8 @@ server <- function(input, output, session) {
selected = scheme() selected = scheme()
), ),
"Для начала работы нужно создать новую запись или загрузить существующую!", "Для начала работы нужно создать новую запись или загрузить существующую!",
# сво
strong("tasks"),
# загрузка панели для работы с базой данных # загрузка панели для работы с базой данных
uiOutput("admin_buttons_panel") uiOutput("admin_buttons_panel")
) )

View File

@@ -32,17 +32,36 @@ server <- function(id, values, scheme, mhcs) {
dplyr::filter(task_status != "completed") |> dplyr::filter(task_status != "completed") |>
dplyr::pull(task_id) dplyr::pull(task_id)
tasks_selector <- unique(c(values$tasks_id_selector, tasks_selector)) tasks_selector <- unique(c(values$tasks_id, tasks_selector))
tasks_selector <- sort(tasks_selector) tasks_selector <- sort(tasks_selector)
if (length(values$tasks_id_selector) == 0) { if (length(values$tasks_id) == 0) {
values$tasks_id_selector <- if (length(tasks_selector) == 0) NULL else tasks_selector[[1]] values$tasks_id <- if (length(tasks_selector) == 0) NULL else tasks_selector[[1]]
} }
} else { } else {
tasks_selector <- NULL tasks_selector <- NULL
} }
## new tasks ----------------
get_default_task <- function() {
tibble::tibble(
task_id = paste0(format(Sys.time(), "%Y%m%d%H%M%S"), "_", values$main_key),
task_main_key = values$main_key,
task_status = "active",
task_title = "НОВАЯ ЗАДАЧА",
task_description = "",
task_due_date = NA,
task_user_created = values$current_user,
task_datetime_created = Sys.time(),
task_user_last_updated = NA,
task_datetime_last_updated = NA,
task_user_completed = NA,
task_datetime_completed = NA
)
}
# ui -------------------- # ui --------------------
# очень большой костыль # очень большой костыль
subroup_scheme <- mhcs()$get_scheme("tasks") |> subroup_scheme <- mhcs()$get_scheme("tasks") |>
@@ -64,7 +83,7 @@ server <- function(id, values, scheme, mhcs) {
ui <- layout_sidebar( ui <- layout_sidebar(
sidebar = tagList( sidebar = tagList(
selectizeInput(ns("hhhhhhh"), label = "what", choices = tasks_selector, selected = values$tasks_id_selector), selectizeInput(ns("tasks_id_selector"), label = "ID задачи:", choices = tasks_selector, selected = values$tasks_id),
actionButton(ns("tasks_create_new_task"), "new_task"), actionButton(ns("tasks_create_new_task"), "new_task"),
actionButton(ns("tasks_add_autoreview"), "add autotask"), actionButton(ns("tasks_add_autoreview"), "add autotask"),
actionButton(ns("tasks_DT_VIEW"), "DT") actionButton(ns("tasks_DT_VIEW"), "DT")
@@ -84,7 +103,7 @@ server <- function(id, values, scheme, mhcs) {
# button logic --------------------- # button logic ---------------------
## отображение окна ----------------- ## отображение окна -----------------
observeEvent(input$shieesh, { observeEvent(input$display_task_modal, {
con <- db$make_db_connection(scheme(),"nested_tables") con <- db$make_db_connection(scheme(),"nested_tables")
on.exit(db$close_db_connection(con, "nested_tables"), add = TRUE) on.exit(db$close_db_connection(con, "nested_tables"), add = TRUE)
@@ -97,26 +116,26 @@ server <- function(id, values, scheme, mhcs) {
NULL NULL
} }
values$tasks_id_selector <- NULL values$tasks_id <- NULL
show_modal_for_tasks() show_modal_for_tasks()
}) })
## изменение выбранной задачи ------- ## изменение выбранной задачи -------
observeEvent(input$hhhhhhh, { observeEvent(input$tasks_id_selector, {
req(input$hhhhhhh) req(input$tasks_id_selector)
req(values$tasks_id_selector) req(values$tasks_id)
# выбранный ключ в форме - перемещаем в RV # выбранный ключ в форме - перемещаем в RV
values$tasks_id_selector <- input$hhhhhhh values$tasks_id <- input$tasks_id_selector
}) })
## обновление формы при измененнии id ключа ------ ## обновление формы при измененнии id ключа ------
observeEvent(values$tasks_id_selector, { observeEvent(values$tasks_id, {
df <- values$tasks_data |> df <- values$tasks_data |>
dplyr::filter(task_id == values$tasks_id_selector) dplyr::filter(task_id == values$tasks_id)
forms$load_data_to_form( forms$load_data_to_form(
df = df, df = df,
@@ -157,16 +176,16 @@ server <- function(id, values, scheme, mhcs) {
df <- values$tasks_data df <- values$tasks_data
df[df$task_id == values$tasks_id_selector,]$task_status <- exported_df$task_status df[df$task_id == values$tasks_id,]$task_status <- exported_df$task_status
df[df$task_id == values$tasks_id_selector,]$task_title <- exported_df$task_title df[df$task_id == values$tasks_id,]$task_title <- exported_df$task_title
df[df$task_id == values$tasks_id_selector,]$task_description <- exported_df$task_description df[df$task_id == values$tasks_id,]$task_description <- exported_df$task_description
df[df$task_id == values$tasks_id_selector,]$task_due_date <- exported_df$task_due_date df[df$task_id == values$tasks_id,]$task_due_date <- exported_df$task_due_date
df[df$task_id == values$tasks_id_selector,]$task_user_last_updated <- values$current_user df[df$task_id == values$tasks_id,]$task_user_last_updated <- values$current_user
df[df$task_id == values$tasks_id_selector,]$task_datetime_last_updated <- Sys.time() df[df$task_id == values$tasks_id,]$task_datetime_last_updated <- Sys.time()
if (exported_df$task_status == "completed") { if (exported_df$task_status == "completed") {
df[df$task_id == values$tasks_id_selector,]$task_user_completed <- values$current_user df[df$task_id == values$tasks_id,]$task_user_completed <- values$current_user
df[df$task_id == values$tasks_id_selector,]$task_datetime_completed <- Sys.time() df[df$task_id == values$tasks_id,]$task_datetime_completed <- Sys.time()
} }
values$tasks_data <- df values$tasks_data <- df
@@ -189,9 +208,9 @@ server <- function(id, values, scheme, mhcs) {
dplyr::filter(task_status != "completed") |> dplyr::filter(task_status != "completed") |>
dplyr::pull(task_id) dplyr::pull(task_id)
selector <- ifelse(!values$tasks_id_selector %in% tasks_selector, tasks_selector[1], values$tasks_id_selector) selector <- ifelse(!values$tasks_id %in% tasks_selector, tasks_selector[1], values$tasks_id)
updateSelectInput(inputId = "hhhhhhh", choices = tasks_selector, selected = selector) updateSelectInput(inputId = "tasks_id_selector", choices = tasks_selector, selected = selector)
}) })
@@ -228,36 +247,18 @@ server <- function(id, values, scheme, mhcs) {
}) })
## functions ---------------------------------- ## с
get_default_task <- function() {
tibble::tibble(
task_id = paste0(format(Sys.time(), "%Y%m%d%H%M%S"), "_", values$main_key),
task_main_key = values$main_key,
task_status = "active",
task_title = "new task",
task_description = "description",
task_due_date = NA,
task_user_created = values$current_user,
task_datetime_created = Sys.time(),
task_user_last_updated = NA,
task_datetime_last_updated = NA,
task_user_completed = NA,
task_datetime_completed = NA
)
}
observeEvent(input$tasks_create_new_task, { observeEvent(input$tasks_create_new_task, {
new_task <- get_default_task() new_task <- get_default_task()
values$tasks_data <- rbind(values$tasks_data, new_task) values$tasks_data <- rbind(values$tasks_data, new_task)
values$tasks_id_selector <- new_task$task_id values$tasks_id <- new_task$task_id
tasks_selector <- values$tasks_data |> tasks_selector <- values$tasks_data |>
dplyr::filter(task_status != "completed") |> dplyr::filter(task_status != "completed") |>
dplyr::pull(task_id) dplyr::pull(task_id)
updateSelectInput(inputId = "hhhhhhh", choices = tasks_selector, selected = values$tasks_id_selector) updateSelectInput(inputId = "tasks_id_selector", choices = tasks_selector, selected = values$tasks_id)
removeModal() removeModal()
show_modal_for_tasks() show_modal_for_tasks()
}) })
@@ -270,13 +271,13 @@ server <- function(id, values, scheme, mhcs) {
new_task$task_due_date <- Sys.Date() + 28 new_task$task_due_date <- Sys.Date() + 28
values$tasks_data <- rbind(values$tasks_data, new_task) values$tasks_data <- rbind(values$tasks_data, new_task)
values$tasks_id_selector <- new_task$task_id values$tasks_id <- new_task$task_id
tasks_selector <- values$tasks_data |> tasks_selector <- values$tasks_data |>
dplyr::filter(task_status != "completed") |> dplyr::filter(task_status != "completed") |>
dplyr::pull(task_id) dplyr::pull(task_id)
updateSelectInput(inputId = "hhhhhhh", choices = tasks_selector, selected = values$tasks_id_selector) updateSelectInput(inputId = "tasks_id_selector", choices = tasks_selector, selected = values$tasks_id)
removeModal() removeModal()
show_modal_for_tasks() show_modal_for_tasks()
}) })
@@ -287,7 +288,7 @@ server <- function(id, values, scheme, mhcs) {
#' @export #' @export
update_task_button_count <- function(con, values, ns) { update_task_button_count <- function(con, values, ns) {
inputID <- "shieesh" inputID <- "display_task_modal"
if (!missing(ns)) inputID <- ns(inputID) if (!missing(ns)) inputID <- ns(inputID)
if ("tasks" %in% DBI::dbListTables(con)) { if ("tasks" %in% DBI::dbListTables(con)) {

View File

@@ -8,6 +8,7 @@ prod:
form_auth_enabled: false form_auth_enabled: false
form_schemes: form_schemes:
example_of_scheme: Тестовая база данных example_of_scheme: Тестовая база данных
main_register: АВЗ и АМИЛОИОДОЗЫ
devel: devel:
form_app_configure_path: _devel/antifib form_app_configure_path: _devel/antifib