devel #1

Merged
madeliri merged 11 commits from devel into main 2026-04-24 16:00:04 +03:00
Showing only changes of commit 985cf99f5f - Show all commits

33
app.R
View File

@@ -72,7 +72,7 @@ ui <- page_sidebar(
uiOutput("status_message"), uiOutput("status_message"),
textOutput("status_message2"), textOutput("status_message2"),
uiOutput("display_log"), uiOutput("display_log"),
actionButton("shieesh", "Задачи: нет активных"), actionButton("tasks_shieesh", "Задачи: нет активных"),
position = "left", position = "left",
open = list(mobile = "always") open = list(mobile = "always")
), ),
@@ -1232,7 +1232,7 @@ server <- function(input, output, session) {
# TASKS --------------------------------------- # TASKS ---------------------------------------
## show button watcher ------------------------- ## show button watcher -------------------------
observeEvent(input$shieesh, { observeEvent(input$tasks_shieesh, {
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)
@@ -1241,11 +1241,7 @@ server <- function(input, output, session) {
DBI::dbGetQuery(con, glue::glue("SELECT * FROM tasks WHERE task_main_key = '{values$main_key}'")) |> DBI::dbGetQuery(con, glue::glue("SELECT * FROM tasks WHERE task_main_key = '{values$main_key}'")) |>
dplyr::mutate(dplyr::across(c("task_datetime_created", "task_datetime_last_updated", "task_datetime_completed"), as.POSIXct)) dplyr::mutate(dplyr::across(c("task_datetime_created", "task_datetime_last_updated", "task_datetime_completed"), as.POSIXct))
} else { } else {
get_default_task() NULL
}
if (nrow(values$tasks_data) == 0) {
values$tasks_data <- get_default_task()
} }
values$tasks_id_selector <- NULL values$tasks_id_selector <- NULL
@@ -1255,6 +1251,8 @@ server <- function(input, output, session) {
show_modal_for_tasks <- function() { show_modal_for_tasks <- function() {
if (!is.null(values$tasks_data)) {
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)
@@ -1266,12 +1264,17 @@ server <- function(input, output, session) {
values$tasks_id_selector <- if (length(tasks_selector) == 0) NULL else tasks_selector[[1]] values$tasks_id_selector <- if (length(tasks_selector) == 0) NULL else tasks_selector[[1]]
} }
} else {
tasks_selector <- NULL
}
# ui # ui
# очень большой костыль # очень большой костыль
subroup_scheme <- mhcs()$get_scheme("tasks") |> subroup_scheme <- mhcs()$get_scheme("tasks") |>
dplyr::filter(form_id != "dummy") dplyr::filter(form_id != "dummy")
tab <- bslib::nav_panel( tab <- if (length(tasks_selector) > 0) {
bslib::nav_panel(
title = "no name provided", title = "no name provided",
purrr::pmap( purrr::pmap(
.l = dplyr::distinct(subroup_scheme, form_id, form_label, form_type), .l = dplyr::distinct(subroup_scheme, form_id, form_label, form_type),
@@ -1279,6 +1282,9 @@ server <- function(input, output, session) {
main_scheme = subroup_scheme main_scheme = subroup_scheme
) )
) )
} else {
bslib::nav_panel("", div("Нет доступных записей.", br(), "Необходимо создать новую запись."))
}
ui <- layout_sidebar( ui <- layout_sidebar(
sidebar = tagList( sidebar = tagList(
@@ -1327,7 +1333,7 @@ server <- function(input, output, session) {
con <- db$make_db_connection(scheme(),"tasks_saving_button") con <- db$make_db_connection(scheme(),"tasks_saving_button")
on.exit(db$close_db_connection(con, "tasks_saving_button"), add = TRUE) on.exit(db$close_db_connection(con, "tasks_saving_button"), add = TRUE)
id_and_types_list <- schms$example_of_scheme$get_id_type_list("tasks") id_and_types_list <- mhcs()$get_id_type_list("tasks")
input_types <- unname(id_and_types_list) input_types <- unname(id_and_types_list)
input_ids <- names(id_and_types_list) input_ids <- names(id_and_types_list)
@@ -1452,6 +1458,8 @@ server <- function(input, output, session) {
dplyr::pull(task_id) dplyr::pull(task_id)
updateSelectInput(inputId = "hhhhhhh", choices = tasks_selector, selected = values$tasks_id_selector) updateSelectInput(inputId = "hhhhhhh", choices = tasks_selector, selected = values$tasks_id_selector)
removeModal()
show_modal_for_tasks()
}) })
observeEvent(input$tasks_add_autoreview, { observeEvent(input$tasks_add_autoreview, {
@@ -1469,17 +1477,18 @@ server <- function(input, output, session) {
dplyr::pull(task_id) dplyr::pull(task_id)
updateSelectInput(inputId = "hhhhhhh", choices = tasks_selector, selected = values$tasks_id_selector) updateSelectInput(inputId = "hhhhhhh", choices = tasks_selector, selected = values$tasks_id_selector)
removeModal()
show_modal_for_tasks()
}) })
update_task_button_count <- function(con) { update_task_button_count <- function(con) {
if ("tasks" %in% DBI::dbListTables(con)) { if ("tasks" %in% DBI::dbListTables(con)) {
tasks_num <- DBI::dbGetQuery(con, glue::glue("SELECT COUNT ('task_id') FROM tasks WHERE task_main_key = '{values$main_key}' AND task_status = 'active'")) |> tasks_num <- DBI::dbGetQuery(con, glue::glue("SELECT COUNT ('task_id') FROM tasks WHERE task_main_key = '{values$main_key}' AND task_status = 'active'")) |>
pull() pull()
if (tasks_num > 0) { if (tasks_num > 0) {
updateActionButton(inputId = "shieesh", label = paste("активных задач:", tasks_num)) updateActionButton(inputId = "tasks_shieesh", label = paste("активных задач:", tasks_num))
} else { } else {
updateActionButton(inputId = "shieesh", label = "Задачи: нет активных") updateActionButton(inputId = "tasks_shieesh", label = "Задачи: нет активных")
} }
} }
} }