Merges default app options with the changes made in the UI
Value
list containing the current state of the app including default values from the yaml file as well as any changes made by the user. The list has the following structure:
yaml: Full contents of the supplied yaml file.
MC: Module components of the yaml file.
ASM:
isgood: Boolean object indicating if the file was successfully loaded.
checksum: This is an MD5 sum of the loaded state file
MOD_TYPE: Character data containing the type of module
"ASM"
id: Character data containing the module id module in the session variable.
FM_yaml_file: App configuration file with FM as main section.
MOD_yaml_file: Module configuration file with MC as main section.
Examples
# Within shiny both session and input variables will exist,
# this creates examples here for testing purposes:
sess_res = ASM_test_mksession()
#> → ASM: including file
#> → ASM: source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → ASM: dest: file.path("config","report.docx")
#> → ASM: including file
#> → ASM: source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → ASM: dest: file.path("config","report.pptx")
#> → ASM: including file
#> → ASM: source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → ASM: dest: file.path("config","report.yaml")
#> → ASM: State initialized
#> → ASM: setting word placeholders:
#> → ASM: -> setting docx ph: HEADERLEFT = left header
#> → ASM: -> setting docx ph: HEADERRIGHT = right header
#> → ASM: -> setting docx ph: FOOTERLEFT = left footer
#> → ASM: module isgood: TRUE
session = sess_res$session
input = sess_res$input
# Configuration files
FM_yaml_file = system.file(package = "formods", "templates", "formods.yaml")
MOD_yaml_file = system.file(package = "formods", "templates", "ASM.yaml")
# We need to specify the ID of the ASM module
id = "ASM"
state = ASM_fetch_state(id = id,
input = input,
session = session,
FM_yaml_file = FM_yaml_file,
MOD_yaml_file = MOD_yaml_file)
state
#> $yaml
#> $yaml$FM
#> $yaml$FM$include
#> $yaml$FM$include$files
#> $yaml$FM$include$files[[1]]
#> $yaml$FM$include$files[[1]]$file
#> $yaml$FM$include$files[[1]]$file$source
#> [1] "file.path(system.file(package=\"onbrand\"), \"templates\", \"report.docx\")"
#>
#> $yaml$FM$include$files[[1]]$file$dest
#> [1] "file.path(\"config\",\"report.docx\")"
#>
#>
#>
#> $yaml$FM$include$files[[2]]
#> $yaml$FM$include$files[[2]]$file
#> $yaml$FM$include$files[[2]]$file$source
#> [1] "file.path(system.file(package=\"onbrand\"), \"templates\", \"report.pptx\")"
#>
#> $yaml$FM$include$files[[2]]$file$dest
#> [1] "file.path(\"config\",\"report.pptx\")"
#>
#>
#>
#> $yaml$FM$include$files[[3]]
#> $yaml$FM$include$files[[3]]$file
#> $yaml$FM$include$files[[3]]$file$source
#> [1] "file.path(system.file(package=\"onbrand\"), \"templates\", \"report.yaml\")"
#>
#> $yaml$FM$include$files[[3]]$file$dest
#> [1] "file.path(\"config\",\"report.yaml\")"
#>
#>
#>
#>
#>
#> $yaml$FM$deployed
#> [1] FALSE
#>
#> $yaml$FM$code
#> $yaml$FM$code$theme
#> [1] "vibrant_ink"
#>
#> $yaml$FM$code$showLineNumbers
#> [1] TRUE
#>
#> $yaml$FM$code$gen_file
#> [1] "run_analysis.R"
#>
#> $yaml$FM$code$gen_preamble
#> [1] "# formods automated output ------------------------------------------------\n# https://formods.ubiquity.tools/\nrm(list=ls())"
#>
#> $yaml$FM$code$packages
#> [1] "onbrand" "writexl"
#>
#>
#> $yaml$FM$notifications
#> $yaml$FM$notifications$config
#> $yaml$FM$notifications$config$success
#> $yaml$FM$notifications$config$success$useFontAwesome
#> [1] FALSE
#>
#> $yaml$FM$notifications$config$success$useIcon
#> [1] FALSE
#>
#> $yaml$FM$notifications$config$success$background
#> [1] "#5bb85b"
#>
#>
#> $yaml$FM$notifications$config$failure
#> $yaml$FM$notifications$config$failure$useFontAwesome
#> [1] FALSE
#>
#> $yaml$FM$notifications$config$failure$useIcon
#> [1] FALSE
#>
#> $yaml$FM$notifications$config$failure$background
#> [1] "#d9534f"
#>
#>
#> $yaml$FM$notifications$config$info
#> $yaml$FM$notifications$config$info$useFontAwesome
#> [1] FALSE
#>
#> $yaml$FM$notifications$config$info$useIcon
#> [1] FALSE
#>
#> $yaml$FM$notifications$config$info$background
#> [1] "#5bc0de"
#>
#>
#> $yaml$FM$notifications$config$warning
#> $yaml$FM$notifications$config$warning$useFontAwesome
#> [1] FALSE
#>
#> $yaml$FM$notifications$config$warning$useIcon
#> [1] FALSE
#>
#> $yaml$FM$notifications$config$warning$background
#> [1] "#f0ac4d"
#>
#>
#>
#>
#> $yaml$FM$reporting
#> $yaml$FM$reporting$enabled
#> [1] TRUE
#>
#> $yaml$FM$reporting$content_init
#> $yaml$FM$reporting$content_init$xlsx
#> [1] "rpt = list(summary = NULL,\n sheets = list())"
#>
#> $yaml$FM$reporting$content_init$docx
#> [1] "rpt = onbrand::read_template(\n template = file.path(\"config\", \"report.docx\"),\n mapping = file.path(\"config\", \"report.yaml\"))"
#>
#> $yaml$FM$reporting$content_init$pptx
#> [1] "rpt = onbrand::read_template(\n template = file.path(\"config\", \"report.pptx\"),\n mapping = file.path(\"config\", \"report.yaml\"))"
#>
#>
#> $yaml$FM$reporting$phs
#> $yaml$FM$reporting$phs[[1]]
#> $yaml$FM$reporting$phs[[1]]$name
#> [1] "HEADERLEFT"
#>
#> $yaml$FM$reporting$phs[[1]]$location
#> [1] "header"
#>
#> $yaml$FM$reporting$phs[[1]]$value
#> [1] ""
#>
#> $yaml$FM$reporting$phs[[1]]$tooltip
#> [1] "left header text"
#>
#>
#> $yaml$FM$reporting$phs[[2]]
#> $yaml$FM$reporting$phs[[2]]$name
#> [1] "HEADERRIGHT"
#>
#> $yaml$FM$reporting$phs[[2]]$location
#> [1] "header"
#>
#> $yaml$FM$reporting$phs[[2]]$value
#> [1] ""
#>
#> $yaml$FM$reporting$phs[[2]]$tooltip
#> [1] "right header text"
#>
#>
#> $yaml$FM$reporting$phs[[3]]
#> $yaml$FM$reporting$phs[[3]]$name
#> [1] "FOOTERLEFT"
#>
#> $yaml$FM$reporting$phs[[3]]$location
#> [1] "footer"
#>
#> $yaml$FM$reporting$phs[[3]]$value
#> [1] ""
#>
#> $yaml$FM$reporting$phs[[3]]$tooltip
#> [1] "left footer text"
#>
#>
#>
#> $yaml$FM$reporting$phs_formatting
#> $yaml$FM$reporting$phs_formatting$width
#> [1] "100%"
#>
#> $yaml$FM$reporting$phs_formatting$tt_position
#> [1] "left"
#>
#> $yaml$FM$reporting$phs_formatting$tt_size
#> [1] "medium"
#>
#>
#>
#> $yaml$FM$ui
#> $yaml$FM$ui$button_style
#> [1] "fill"
#>
#> $yaml$FM$ui$select_size
#> [1] 10
#>
#> $yaml$FM$ui$color_green
#> [1] "#00BB8A"
#>
#> $yaml$FM$ui$color_red
#> [1] "#FF475E"
#>
#> $yaml$FM$ui$color_blue
#> [1] "#0088FF"
#>
#> $yaml$FM$ui$color_purple
#> [1] "#bd2cf4"
#>
#>
#> $yaml$FM$data_meta
#> $yaml$FM$data_meta$data_header
#> [1] "<span style='color:===COLOR==='><b>===NAME===</b><br/><font size='-3'>===LABEL===</font></span>"
#>
#> $yaml$FM$data_meta$subtext
#> [1] "===LABEL===: ===RANGE==="
#>
#> $yaml$FM$data_meta$many_sep
#> [1] ",...,"
#>
#> $yaml$FM$data_meta$data_types
#> $yaml$FM$data_meta$data_types$character
#> $yaml$FM$data_meta$data_types$character$color
#> [1] "#DD4B39"
#>
#> $yaml$FM$data_meta$data_types$character$label
#> [1] "text"
#>
#>
#> $yaml$FM$data_meta$data_types$double
#> $yaml$FM$data_meta$data_types$double$color
#> [1] "#3C8DBC"
#>
#> $yaml$FM$data_meta$data_types$double$label
#> [1] "num"
#>
#>
#> $yaml$FM$data_meta$data_types$integer
#> $yaml$FM$data_meta$data_types$integer$color
#> [1] "#3C8DBC"
#>
#> $yaml$FM$data_meta$data_types$integer$label
#> [1] "num"
#>
#>
#> $yaml$FM$data_meta$data_types$other
#> $yaml$FM$data_meta$data_types$other$color
#> [1] "black"
#>
#> $yaml$FM$data_meta$data_types$other$label
#> [1] "other"
#>
#>
#>
#>
#> $yaml$FM$workflows
#> $yaml$FM$workflows$example
#> $yaml$FM$workflows$example$group
#> [1] "Examples"
#>
#> $yaml$FM$workflows$example$desc
#> [1] "Example Workflow"
#>
#> $yaml$FM$workflows$example$require_ds
#> [1] TRUE
#>
#> $yaml$FM$workflows$example$preload
#> [1] "file.path('.', 'example.yaml')"
#>
#>
#>
#> $yaml$FM$labels
#> $yaml$FM$labels$ui_label
#> [1] "put labels here"
#>
#>
#> $yaml$FM$user_files
#> $yaml$FM$user_files$use_tmpdir
#> [1] TRUE
#>
#>
#> $yaml$FM$logging
#> $yaml$FM$logging$enabled
#> [1] TRUE
#>
#> $yaml$FM$logging$timestamp
#> [1] TRUE
#>
#> $yaml$FM$logging$timestamp_fmt
#> [1] "%Y-%m-%d %H:%M:%S"
#>
#> $yaml$FM$logging$log_file
#> [1] "formods_log.txt"
#>
#> $yaml$FM$logging$console
#> [1] TRUE
#>
#>
#>
#>
#> $MC
#> $MC$module
#> $MC$module$type
#> [1] "ASM"
#>
#> $MC$module$depends
#> NULL
#>
#>
#> $MC$code
#> $MC$code$readOnly
#> [1] TRUE
#>
#> $MC$code$mode
#> [1] "r"
#>
#>
#> $MC$show_log
#> [1] 50
#>
#> $MC$reporting
#> $MC$reporting$enabled
#> [1] FALSE
#>
#> $MC$reporting$priority
#> [1] 1
#>
#>
#> $MC$formatting
#> $MC$formatting$input_load_state
#> $MC$formatting$input_load_state$width
#> [1] "100%"
#>
#>
#> $MC$formatting$ui_asm_save_name
#> $MC$formatting$ui_asm_save_name$width
#> [1] "100%"
#>
#>
#> $MC$formatting$button_state_save
#> $MC$formatting$button_state_save$size
#> [1] "sm"
#>
#> $MC$formatting$button_state_save$block
#> [1] TRUE
#>
#>
#> $MC$formatting$button_rpt_xlsx
#> $MC$formatting$button_rpt_xlsx$size
#> [1] "sm"
#>
#> $MC$formatting$button_rpt_xlsx$block
#> [1] TRUE
#>
#>
#> $MC$formatting$button_rpt_pptx
#> $MC$formatting$button_rpt_pptx$size
#> [1] "sm"
#>
#> $MC$formatting$button_rpt_pptx$block
#> [1] TRUE
#>
#>
#> $MC$formatting$button_rpt_docx
#> $MC$formatting$button_rpt_docx$size
#> [1] "sm"
#>
#> $MC$formatting$button_rpt_docx$block
#> [1] TRUE
#>
#>
#> $MC$formatting$switch_gen_reports
#> $MC$formatting$switch_gen_reports$default
#> [1] FALSE
#>
#> $MC$formatting$switch_gen_reports$right
#> [1] TRUE
#>
#> $MC$formatting$switch_gen_reports$inline
#> [1] TRUE
#>
#> $MC$formatting$switch_gen_reports$width
#> NULL
#>
#>
#>
#> $MC$labels
#> $MC$labels$ui_asm_save_name
#> [1] "Save Analysis"
#>
#> $MC$labels$ui_asm_save_name_ph
#> [1] "my_analysis"
#>
#> $MC$labels$ui_asm_switch_gen_rpts
#> [1] "Generate reports when saving."
#>
#> $MC$labels$save_state
#> [1] "Save"
#>
#> $MC$labels$gen_rpt_header
#> [1] "Generate Reports"
#>
#> $MC$labels$gen_rpt_docx_ph
#> [1] "Word Report Paceholders"
#>
#> $MC$labels$input_load_state
#> [1] "Load Analysis"
#>
#> $MC$labels$upload_button
#> [1] "Load"
#>
#> $MC$labels$upload_placeholder
#> [1] "Select analysis file"
#>
#> $MC$labels$ui_asm_rpt_xlsx
#> [1] "xlsx"
#>
#> $MC$labels$ui_asm_rpt_pptx
#> [1] "pptx"
#>
#> $MC$labels$ui_asm_rpt_docx
#> [1] "docx"
#>
#> $MC$labels$load_success
#> [1] "Analysis loaded"
#>
#> $MC$labels$busy
#> $MC$labels$busy$loading_state
#> [1] "Loading analysis"
#>
#> $MC$labels$busy$saving_state
#> [1] "Saving analysis"
#>
#> $MC$labels$busy$xlsx
#> [1] "Generating report: Excel"
#>
#> $MC$labels$busy$docx
#> [1] "Generating report: Word"
#>
#> $MC$labels$busy$pptx
#> [1] "Generating report: PowerPoint"
#>
#>
#>
#> $MC$errors
#> $MC$errors$bad_input
#> [1] "Input error message"
#>
#> $MC$errors$load_failed
#> [1] "Failed to load analysis"
#>
#> $MC$errors$save_failed
#> [1] "Failed to save analysis"
#>
#>
#> $MC$tooltips
#> $MC$tooltips$include
#> [1] TRUE
#>
#> $MC$tooltips$components
#> $MC$tooltips$components$input_tip
#> [1] "My tool tip"
#>
#>
#>
#>
#> $ASM
#> $ASM$button_counters
#> $ASM$button_counters$button_state_save
#> [1] 0
#>
#> $ASM$button_counters$button_rpt_xlsx
#> [1] 0
#>
#> $ASM$button_counters$button_rpt_docx
#> [1] 0
#>
#> $ASM$button_counters$button_rpt_pptx
#> [1] 0
#>
#>
#> $ASM$ui_hold
#> list()
#>
#> $ASM$ui_ids
#> [1] "button_state_save" "button_rpt_xlsx"
#> [3] "button_rpt_docx" "button_rpt_pptx"
#> [5] "ui_asm_save_name" "switch_gen_rpts"
#> [7] "ui_asm_docx_ph_HEADERLEFT" "ui_asm_docx_ph_HEADERRIGHT"
#> [9] "ui_asm_docx_ph_FOOTERLEFT"
#>
#> $ASM$isgood
#> [1] TRUE
#>
#> $ASM$checksum
#> [1] "f9e884084b84794d762a535f3facec85"
#>
#> $ASM$ph_uis
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERLEFT
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERLEFT$name
#> [1] "HEADERLEFT"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERLEFT$location
#> [1] "header"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERLEFT$value
#> [1] "left header"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERLEFT$tooltip
#> [1] "left header text"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERLEFT$ph_idx
#> [1] 1
#>
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERRIGHT
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERRIGHT$name
#> [1] "HEADERRIGHT"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERRIGHT$location
#> [1] "header"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERRIGHT$value
#> [1] "right header"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERRIGHT$tooltip
#> [1] "right header text"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_HEADERRIGHT$ph_idx
#> [1] 2
#>
#>
#> $ASM$ph_uis$ui_asm_docx_ph_FOOTERLEFT
#> $ASM$ph_uis$ui_asm_docx_ph_FOOTERLEFT$name
#> [1] "FOOTERLEFT"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_FOOTERLEFT$location
#> [1] "footer"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_FOOTERLEFT$value
#> [1] "left footer"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_FOOTERLEFT$tooltip
#> [1] "left footer text"
#>
#> $ASM$ph_uis$ui_asm_docx_ph_FOOTERLEFT$ph_idx
#> [1] 3
#>
#>
#>
#> $ASM$ui
#> $ASM$ui$ui_asm_docx_ph_HEADERLEFT
#> [1] ""
#>
#> $ASM$ui$ui_asm_docx_ph_HEADERRIGHT
#> [1] ""
#>
#> $ASM$ui$ui_asm_docx_ph_FOOTERLEFT
#> [1] ""
#>
#> $ASM$ui$button_state_save
#> [1] ""
#>
#> $ASM$ui$button_rpt_xlsx
#> [1] ""
#>
#> $ASM$ui$button_rpt_docx
#> [1] ""
#>
#> $ASM$ui$button_rpt_pptx
#> [1] ""
#>
#> $ASM$ui$ui_asm_save_name
#> [1] ""
#>
#> $ASM$ui$switch_gen_rpts
#> [1] ""
#>
#>
#>
#> $MOD_TYPE
#> [1] "ASM"
#>
#> $id
#> [1] "ASM"
#>
#> $FM_yaml_file
#> [1] "/private/var/folders/pq/7srbf_fx3rd3k706hgxkg61r0000gp/T/RtmpUpZU39/temp_libpath370821b9c753/formods/templates/formods.yaml"
#>
#> $MOD_yaml_file
#> [1] "/private/var/folders/pq/7srbf_fx3rd3k706hgxkg61r0000gp/T/RtmpUpZU39/temp_libpath370821b9c753/formods/templates/ASM.yaml"
#>
#> $shiny_token
#> [1] "non_shiny"
#>