devel #4
@@ -1,3 +1,7 @@
|
||||
options(box.path = here::here())
|
||||
box::use(
|
||||
R/modules/utils
|
||||
)
|
||||
|
||||
#' @export
|
||||
#' @description Function to open connection to db, disigned to easy dubugging.
|
||||
@@ -102,9 +106,6 @@ get_dummy_data = function(type) {
|
||||
#' типу данных
|
||||
get_dummy_df = function(forms_id_type_list) {
|
||||
|
||||
options(box.path = here::here())
|
||||
box::use(R/modules/utils)
|
||||
|
||||
purrr::map(
|
||||
.x = forms_id_type_list,
|
||||
.f = utils$get_empty_data
|
||||
@@ -113,6 +114,20 @@ get_dummy_df = function(forms_id_type_list) {
|
||||
|
||||
}
|
||||
|
||||
#' @description
|
||||
#' Генерация пустого датасета с пустыми значениями соответствующие
|
||||
#' типу данных
|
||||
get_query_df = function(forms_id_type_list) {
|
||||
|
||||
names_and_types <- purrr::map(
|
||||
.x = forms_id_type_list,
|
||||
.f = utils$get_sql_format
|
||||
)
|
||||
|
||||
paste(names(names_and_types), unname(names_and_types), collapse = ",\n")
|
||||
|
||||
}
|
||||
|
||||
#' @description
|
||||
#' Сравнение полей в существующей в базе данных таблице и попытка
|
||||
#' коррекции таблицы
|
||||
|
||||
@@ -117,7 +117,9 @@ render_forms = function(
|
||||
},
|
||||
if (!is.na(description) && !is.na(form_label)) shiny::br(),
|
||||
if (!is.na(description)) {
|
||||
shiny::span(shiny::markdown(description)) |> htmltools::tagAppendAttributes(style = "color:gray; font-size:small; line-height: 1.4;")
|
||||
shiny::markdown(description) |>
|
||||
shiny::span() |>
|
||||
htmltools::tagAppendAttributes(style = "color:gray; font-size:small; line-height: 1.4;")
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -169,6 +171,7 @@ render_forms = function(
|
||||
options = list(
|
||||
create = TRUE,
|
||||
onInitialize = I('function() { this.setValue(""); }')
|
||||
# dropdownParent = "body" # overfrlow in card
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -183,7 +186,8 @@ render_forms = function(
|
||||
multiple = TRUE,
|
||||
options = list(
|
||||
create = TRUE,
|
||||
onInitialize = I('function() { this.setValue(""); }')
|
||||
onInitialize = I('function() { this.setValue(""); }'),
|
||||
dropdownParent = "body"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -225,7 +229,7 @@ render_forms = function(
|
||||
if (form_type == "description_header") {
|
||||
form <- shiny::h5(
|
||||
label,
|
||||
style = "margin-bottom: -8px; margin-top: 10px;"
|
||||
style = "margin-bottom: 0px; margin-top: 10px;"
|
||||
)
|
||||
}
|
||||
|
||||
@@ -236,10 +240,12 @@ render_forms = function(
|
||||
form,
|
||||
ns = ifelse(missing(ns), shiny::NS(NULL), ns)
|
||||
)
|
||||
form <- shiny::tagAppendAttributes(form, style = "margin-top: -10px;")
|
||||
}
|
||||
|
||||
if (is.null(form)) cli::cli_abort("невозможно создать форму типа '{form_type}' (id: '{form_id}') !")
|
||||
form
|
||||
|
||||
form
|
||||
}
|
||||
|
||||
|
||||
@@ -254,6 +260,16 @@ get_empty_data = function(type) {
|
||||
if (type %in% c("number")) as.character(NA)
|
||||
}
|
||||
|
||||
#' @export
|
||||
#' @description
|
||||
#' Функция возращает пустое значение для каждого типа формы
|
||||
get_sql_format = function(type) {
|
||||
if (type %in% c("text", "select_one", "select_multiple")) return("TEXT")
|
||||
if (type %in% c("radio", "checkbox")) return("TEXT")
|
||||
if (type %in% c("date")) return("REAL")
|
||||
if (type %in% c("number")) return("TEXT")
|
||||
}
|
||||
|
||||
#' @export
|
||||
#' @description Function to update input forms (default variants only)
|
||||
#' @param id - input form id;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.description-header {
|
||||
/* 1. Add the border around the whole box */
|
||||
border-bottom: 2px solid #777777;
|
||||
|
||||
|
||||
/* 2. Forces border inside the total width/height (prevents breaking layouts) */
|
||||
box-sizing: border-box;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user