feat: empty screen when no tasks
This commit is contained in:
33
app.R
33
app.R
@@ -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 = "Задачи: нет активных")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user