feat: корректное обновление счетчика задач на кнопке + список просроченных задач
This commit is contained in:
24
app/tasks.R
24
app/tasks.R
@@ -329,6 +329,19 @@ server <- function(id, values, scheme, mhcs) {
|
||||
display_tasks_dt_review()
|
||||
})
|
||||
|
||||
### просроченные ------------
|
||||
observeEvent(input$show_dt_overdue, {
|
||||
|
||||
con <- db$make_db_connection(scheme(),"display_task_modal")
|
||||
on.exit(db$close_db_connection(con, "display_task_modal"), add = TRUE)
|
||||
|
||||
values$tasks_data <- DBI::dbGetQuery(con, glue::glue("SELECT * FROM tasks WHERE task_status = 'active' AND task_due_date < {as.integer(Sys.Date())}")) |>
|
||||
dplyr::mutate(dplyr::across(c("task_datetime_created", "task_datetime_last_updated", "task_datetime_completed"), as.POSIXct)) |>
|
||||
dplyr::mutate(dplyr::across(c("task_due_date"), as.Date))
|
||||
|
||||
display_tasks_dt_review()
|
||||
})
|
||||
|
||||
### modal -----
|
||||
display_tasks_dt_review <- function() {
|
||||
|
||||
@@ -408,14 +421,25 @@ update_task_button_count <- function(con, values, ns) {
|
||||
|
||||
inputID <- "display_task_modal"
|
||||
if (!missing(ns)) inputID <- ns(inputID)
|
||||
|
||||
if (is.null(values$main_key)) {
|
||||
updateActionButton(inputId = inputID, label = "Задачи: нет активных")
|
||||
return()
|
||||
}
|
||||
|
||||
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'")) |>
|
||||
dplyr::pull()
|
||||
|
||||
if (tasks_num > 0) {
|
||||
|
||||
updateActionButton(inputId = inputID, label = paste("активных задач:", tasks_num))
|
||||
|
||||
} else {
|
||||
|
||||
updateActionButton(inputId = inputID, label = "Задачи: нет активных")
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user