Skip to content
Snippets Groups Projects
Commit 4f7e645c authored by Todor Kondic's avatar Todor Kondic
Browse files

app: shiny-ui-base, shiny-state: Define a GUI state.

parent 942744c3
No related branches found
No related tags found
No related merge requests found
......@@ -50,6 +50,7 @@ Collate:
'plotting.R'
'extraction.R'
'api.R'
'shiny-state.R'
'shiny-ui-base.R'
Depends:
RMassBank,
......
......@@ -41,6 +41,11 @@ export(setup_phase)
export(sort_spectra)
export(subset_summary)
export(tk_save_file)
export(which_gui_inputs)
export(which_gui_numeric_inputs)
export(which_gui_radio_inputs)
export(which_gui_select_inputs)
export(which_gui_text_inputs)
import(data.table)
importFrom(MSnbase,filterMz)
importFrom(MSnbase,readMSData)
......
## Managing the state of shiny application.
GUI_SELECT_INPUTS <- c("proj_list",
"indir_list",
"ms1_coarse_unit",
"ms1_fine_unit",
"ms1_rt_win_unit",
"ret_time_shift_tol")
GUI_NUMERIC_INPUTS <- c("ms1_coarse",
"ms1_fine",
"ms1_eic",
"ms1_rt_win",
"ms1_int_thresh",
"ms2_int_thresh",
"s2n",
"ret_time_shift_tol")
GUI_TEXT_INPUTS <- c("rep_aut",
"rep_tit")
GUI_RADIO_INPUTS <- c("missingprec")
GUI_ALL_INPUTS <- c(GUI_SELECT_INPUTS,
GUI_NUMERIC_INPUTS,
GUI_TEXT_INPUTS,
GUI_RADIO_INPUTS)
#' @export
which_gui_inputs <- function() {
GUI_ALL_INPUTS
}
#' @export
which_gui_select_inputs <- function() {
GUI_SELECT_INPUTS
}
#' @export
which_gui_numeric_inputs <- function() {
GUI_NUMERIC_INPUTS
}
#' @export
which_gui_text_inputs <- function() {
GUI_TEXT_INPUTS
}
#' @export
which_gui_radio_inputs <- function() {
GUI_RADIO_INPUTS
}
......@@ -1133,21 +1133,21 @@ mk_shinyscreen_server <- function(projects,init) {
## If a saved state exists, load it.
fn_state <- file.path(fullwd,FN_STATE)
if (file.exists(fn_state)) {
reset_gui_and_state(session=session,
init = init,
wd = wd,
rv_dfile = rv_dfile,
rv_datatab = rv_datatab,
rv_flag_datatab = rv_flag_datatab,
rvs = rvs,
rv_projects = rv_projects)
rvs$m <- list2rev(readRDS(fn_state))
rvs$m$conf$project <- input$proj_list
rvs$m$conf$paths$project <- fullwd
update_gui(session = session,
rv_dfile = rv_dfile,
rv_datatab = rv_datatab,
rv_flag_datatab = rv_flag_datatab)
## reset_gui_and_state(session=session,
## init = init,
## wd = wd,
## rv_dfile = rv_dfile,
## rv_datatab = rv_datatab,
## rv_flag_datatab = rv_flag_datatab,
## rvs = rvs,
## rv_projects = rv_projects)
## rvs$m <- list2rev(readRDS(fn_state))
## rvs$m$conf$project <- input$proj_list
## rvs$m$conf$paths$project <- fullwd
## update_gui(session = session,
## rv_dfile = rv_dfile,
## rv_datatab = rv_datatab,
## rv_flag_datatab = rv_flag_datatab)
} else {
message("No saved state found. Creating an empty project.")
m <- new_empty_project(fullwd)
......@@ -1183,6 +1183,11 @@ mk_shinyscreen_server <- function(projects,init) {
file = fconf)
shinyscreen:::tab2file(tab=m$input$tab$mzml,file=ftab)
m$conf$paths$datatab <- ftab
gui_inputs <- list()
gui_input_names <- which_gui_inputs()
gui_inputs <- shiny::reactiveValuesToList(input)[gui_input_names]
fn_gui <- file.path(m$conf$paths$project,"gui.rds")
saveRDS(object=gui_inputs,file=fn_gui)
saveRDS(object=m,file=fn)
}
shinymsg("Saving state completed.")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment