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/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")
|
||||||
)
|
)
|
||||||
|
|||||||
93
app/tasks.R
93
app/tasks.R
@@ -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)) {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user