refactor: some code refactoring
This commit is contained in:
19
app.R
19
app.R
@@ -33,14 +33,12 @@ box::use(
|
||||
box::use(app/forms)
|
||||
box::use(app/tasks)
|
||||
|
||||
# SETTINGS ================================
|
||||
HEADER_TEXT <- config::get("form_name")
|
||||
|
||||
# refactor LATER ---------
|
||||
vv <- unlist(config::get()$form_schemes)
|
||||
enabled_schemes <- names(vv)
|
||||
vvvv <- unname(vv)
|
||||
names(enabled_schemes) <- vvvv
|
||||
# ------------------------
|
||||
|
||||
# CHECK FOR PANDOC
|
||||
# TEMP ! NEED TO HANDLE
|
||||
@@ -54,9 +52,9 @@ schms <- readRDS("scheme.rds")
|
||||
|
||||
# UI =======================
|
||||
ui <- page_sidebar(
|
||||
# title = HEADER_TEXT,
|
||||
# title = config::get("form_name"),
|
||||
title = tagList(
|
||||
h4(HEADER_TEXT, style = "margin-top: .5rem"),
|
||||
h4(config::get("form_name"), style = "margin-top: .5rem"),
|
||||
popover(
|
||||
span(
|
||||
config::get("form_app_version"),
|
||||
@@ -64,7 +62,7 @@ ui <- page_sidebar(
|
||||
style = "color: #9c9c9c"),
|
||||
title = "about",
|
||||
placement = "left",
|
||||
p("a"), p("b")
|
||||
tagList(span("здесь пока ничего нет"), br(), span("вот"))
|
||||
)
|
||||
),
|
||||
theme = bs_theme(version = 5, preset = "bootstrap"),
|
||||
@@ -77,7 +75,7 @@ ui <- page_sidebar(
|
||||
uiOutput("status_message"),
|
||||
textOutput("status_message2"),
|
||||
uiOutput("display_log"),
|
||||
actionButton("tasks-shieesh", "Задачи: нет активных"),
|
||||
actionButton("tasks-display_task_modal", "Задачи: нет активных"),
|
||||
position = "left",
|
||||
open = list(mobile = "always")
|
||||
),
|
||||
@@ -92,7 +90,7 @@ if (AUTH_ENABLED) {
|
||||
shinymanager::secure_app(
|
||||
status = "primary",
|
||||
tags_top = tags$div(
|
||||
tags$h3(HEADER_TEXT, style = "align:center"),
|
||||
tags$h3(config::get("form_name"), style = "align:center"),
|
||||
# tags$img(
|
||||
# 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")
|
||||
|
||||
if (showing_buttons) {
|
||||
@@ -168,7 +167,7 @@ server <- function(input, output, session) {
|
||||
main_key = NULL,
|
||||
nested_key = NULL,
|
||||
nested_form_id = NULL,
|
||||
tasks_id_selector = NULL,
|
||||
tasks_id = NULL,
|
||||
current_user = NULL
|
||||
)
|
||||
|
||||
@@ -195,6 +194,8 @@ server <- function(input, output, session) {
|
||||
selected = scheme()
|
||||
),
|
||||
"Для начала работы нужно создать новую запись или загрузить существующую!",
|
||||
# сво
|
||||
strong("tasks"),
|
||||
# загрузка панели для работы с базой данных
|
||||
uiOutput("admin_buttons_panel")
|
||||
)
|
||||
|
||||
93
app/tasks.R
93
app/tasks.R
@@ -32,17 +32,36 @@ server <- function(id, values, scheme, mhcs) {
|
||||
dplyr::filter(task_status != "completed") |>
|
||||
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)
|
||||
|
||||
if (length(values$tasks_id_selector) == 0) {
|
||||
values$tasks_id_selector <- if (length(tasks_selector) == 0) NULL else tasks_selector[[1]]
|
||||
if (length(values$tasks_id) == 0) {
|
||||
values$tasks_id <- if (length(tasks_selector) == 0) NULL else tasks_selector[[1]]
|
||||
}
|
||||
|
||||
} else {
|
||||
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 --------------------
|
||||
# очень большой костыль
|
||||
subroup_scheme <- mhcs()$get_scheme("tasks") |>
|
||||
@@ -64,7 +83,7 @@ server <- function(id, values, scheme, mhcs) {
|
||||
|
||||
ui <- layout_sidebar(
|
||||
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_add_autoreview"), "add autotask"),
|
||||
actionButton(ns("tasks_DT_VIEW"), "DT")
|
||||
@@ -84,7 +103,7 @@ server <- function(id, values, scheme, mhcs) {
|
||||
|
||||
# button logic ---------------------
|
||||
## отображение окна -----------------
|
||||
observeEvent(input$shieesh, {
|
||||
observeEvent(input$display_task_modal, {
|
||||
|
||||
con <- db$make_db_connection(scheme(),"nested_tables")
|
||||
on.exit(db$close_db_connection(con, "nested_tables"), add = TRUE)
|
||||
@@ -97,26 +116,26 @@ server <- function(id, values, scheme, mhcs) {
|
||||
NULL
|
||||
}
|
||||
|
||||
values$tasks_id_selector <- NULL
|
||||
values$tasks_id <- NULL
|
||||
show_modal_for_tasks()
|
||||
|
||||
})
|
||||
|
||||
## изменение выбранной задачи -------
|
||||
observeEvent(input$hhhhhhh, {
|
||||
req(input$hhhhhhh)
|
||||
req(values$tasks_id_selector)
|
||||
observeEvent(input$tasks_id_selector, {
|
||||
req(input$tasks_id_selector)
|
||||
req(values$tasks_id)
|
||||
|
||||
# выбранный ключ в форме - перемещаем в RV
|
||||
values$tasks_id_selector <- input$hhhhhhh
|
||||
values$tasks_id <- input$tasks_id_selector
|
||||
|
||||
})
|
||||
|
||||
## обновление формы при измененнии id ключа ------
|
||||
observeEvent(values$tasks_id_selector, {
|
||||
observeEvent(values$tasks_id, {
|
||||
|
||||
df <- values$tasks_data |>
|
||||
dplyr::filter(task_id == values$tasks_id_selector)
|
||||
dplyr::filter(task_id == values$tasks_id)
|
||||
|
||||
forms$load_data_to_form(
|
||||
df = df,
|
||||
@@ -157,16 +176,16 @@ server <- function(id, values, scheme, mhcs) {
|
||||
|
||||
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_selector,]$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_selector,]$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_selector,]$task_datetime_last_updated <- Sys.time()
|
||||
df[df$task_id == values$tasks_id,]$task_status <- exported_df$task_status
|
||||
df[df$task_id == values$tasks_id,]$task_title <- exported_df$task_title
|
||||
df[df$task_id == values$tasks_id,]$task_description <- exported_df$task_description
|
||||
df[df$task_id == values$tasks_id,]$task_due_date <- exported_df$task_due_date
|
||||
df[df$task_id == values$tasks_id,]$task_user_last_updated <- values$current_user
|
||||
df[df$task_id == values$tasks_id,]$task_datetime_last_updated <- Sys.time()
|
||||
|
||||
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_selector,]$task_datetime_completed <- Sys.time()
|
||||
df[df$task_id == values$tasks_id,]$task_user_completed <- values$current_user
|
||||
df[df$task_id == values$tasks_id,]$task_datetime_completed <- Sys.time()
|
||||
}
|
||||
|
||||
values$tasks_data <- df
|
||||
@@ -189,9 +208,9 @@ server <- function(id, values, scheme, mhcs) {
|
||||
dplyr::filter(task_status != "completed") |>
|
||||
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, {
|
||||
new_task <- get_default_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 |>
|
||||
dplyr::filter(task_status != "completed") |>
|
||||
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()
|
||||
show_modal_for_tasks()
|
||||
})
|
||||
@@ -270,13 +271,13 @@ server <- function(id, values, scheme, mhcs) {
|
||||
new_task$task_due_date <- Sys.Date() + 28
|
||||
|
||||
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 |>
|
||||
dplyr::filter(task_status != "completed") |>
|
||||
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()
|
||||
show_modal_for_tasks()
|
||||
})
|
||||
@@ -287,7 +288,7 @@ server <- function(id, values, scheme, mhcs) {
|
||||
#' @export
|
||||
update_task_button_count <- function(con, values, ns) {
|
||||
|
||||
inputID <- "shieesh"
|
||||
inputID <- "display_task_modal"
|
||||
if (!missing(ns)) inputID <- ns(inputID)
|
||||
|
||||
if ("tasks" %in% DBI::dbListTables(con)) {
|
||||
|
||||
@@ -8,6 +8,7 @@ prod:
|
||||
form_auth_enabled: false
|
||||
form_schemes:
|
||||
example_of_scheme: Тестовая база данных
|
||||
main_register: АВЗ и АМИЛОИОДОЗЫ
|
||||
|
||||
devel:
|
||||
form_app_configure_path: _devel/antifib
|
||||
|
||||
Reference in New Issue
Block a user