Skip to contents

Merges default app options with the changes made in the UI

Usage

FG_fetch_state(
  id,
  input,
  session,
  FM_yaml_file,
  MOD_yaml_file,
  id_ASM = NULL,
  id_UD = NULL,
  id_DW = NULL,
  react_state
)

Arguments

id

Shiny module ID

input

Shiny input variable

session

Shiny session variable

FM_yaml_file

App configuration file with FM as main section.

MOD_yaml_file

Module configuration file with MC as main section.

id_ASM

ID string for the app state management module used to save and load app states

id_UD

ID string for the upload data module used to handle uploads or the name of the list element in react_state where the data set is stored.

id_DW

ID string for the data wrangling module to process any uploaded data

react_state

Variable passed to server to allow reaction outside of module (NULL)

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 structure of the list is defined below:

  • yaml: Contents of the yaml file.

  • MC: Module components of the yaml file.

  • FG: Data wrangling state

    • isgood: Boolean status of the state. Currently just TRUE

    • button_counters: List of counters to detect button clicks.

    • ui_msg: Message returned when users perform actions.

    • ui: Current value of form elements in the UI.

    • ui_ids: Vector of UI elements for the module.

    • ui_hold: List of hold elements to disable updates before a full ui referesh is complete.

    • checksum: checksum of the FG module used to detect changes in the module.

    • aes_elements: Plot elements defined by aesthetics (i.e. the X in geom_X)

    • current_fig: fig_id of the currently figure.

    • fig_cntr: Counter for figures, incremented each time a new figure is created.

    • DSV: Available data sets from the UD and DW modules.

    • figs: List of figures. Each view has the following structure:

      • add_isgood: JMH

      • checksum: Checksum of the figure used to detect changes in the figure.

      • code: Code to generate figure from start to finish.

      • code_fg_only: Code to just generate the figure.

      • code_previous: Code to load and/or wrangle the dataset.

      • elements_table: Table of figure generation elements.

      • fg_object_name: JMH

      • fig_dsview: Name of the dataset view for the current figure (also the R object name of the dataset view).

      • fobj: JMH

      • id: Character id (fig_idx)

      • idx: Numeric id (1)

      • isgood: Boolean status of the figure. FALSE if evaluation/build fails.

      • key: Figure key acts as a title/caption (user editable)

      • msgs: JMH

      • notes: Figure notes (user editable)

      • num_pages: JMH

      • page: JMH

  • MOD_TYPE: Character data containing the type of module "DW"

  • 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

# Configuration files
FM_yaml_file  = system.file(package = "formods", "templates", "formods.yaml")
MOD_yaml_file = system.file(package = "formods", "templates", "FG.yaml")

# We need to specify both the FG module id as well as the
# id of the UD module that feeds into it.
id    = "FG"
id_UD = "UD"
id_DW = "DW"

# These would be the Shiny input and session variables
input   = list()
session = list()

# Creating an empty state object
state = FG_fetch_state(id              = id,
                       input           = input,
                       session         = session,
                       FM_yaml_file    = FM_yaml_file,
                       MOD_yaml_file   = MOD_yaml_file,
                       id_UD           = id_UD,
                       id_DW           = id_DW,
                       react_state     = NULL)
#> → FG: including file
#> → FG:   source: file.path(system.file(package="onbrand"), "templates", "report.docx")
#> → FG:   dest:   file.path("config","report.docx")
#> → FG: including file
#> → FG:   source: file.path(system.file(package="onbrand"), "templates", "report.pptx")
#> → FG:   dest:   file.path("config","report.pptx")
#> → FG: including file
#> → FG:   source: file.path(system.file(package="onbrand"), "templates", "report.yaml")
#> → FG:   dest:   file.path("config","report.yaml")
#> → FG: State initialized
#> → FG: figure page change detected

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$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$labels
#> $yaml$FM$labels$default_ds
#> [1] "Original data set"
#> 
#> 
#> $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$compact
#> $MC$compact$code
#> [1] TRUE
#> 
#> $MC$compact$preview
#> [1] "ggplot"
#> 
#> $MC$compact$clip
#> [1] TRUE
#> 
#> 
#> $MC$reporting
#> $MC$reporting$enabled
#> [1] TRUE
#> 
#> $MC$reporting$priority
#> [1] 1
#> 
#> 
#> $MC$tooltips
#> $MC$tooltips$include
#> [1] TRUE
#> 
#> $MC$tooltips$components
#> $MC$tooltips$components$manual
#> $MC$tooltips$components$manual$x
#> [1] "Numeric location on the x-axis"
#> 
#> $MC$tooltips$components$manual$y
#> [1] "Numeric location on the y-axis"
#> 
#> $MC$tooltips$components$manual$color
#> [1] "A named color red, blue, green"
#> 
#> $MC$tooltips$components$manual$linetype
#> [1] "Specify either solid, dashed, dotted, dotdash, longdash or twodash"
#> 
#> $MC$tooltips$components$manual$shape
#> [1] "Open shapes: square (0), circle (1), triangle (2); Filled shapes:  square (15), circle (16), triangle (17)"
#> 
#> $MC$tooltips$components$manual$size
#> [1] "Numeric value"
#> 
#> $MC$tooltips$components$manual$alpha
#> [1] "Numeric value between 0 (completely transparent) and 1 (solid)"
#> 
#> $MC$tooltips$components$manual$group
#> NULL
#> 
#> $MC$tooltips$components$manual$xintercept
#> NULL
#> 
#> $MC$tooltips$components$manual$yintercept
#> NULL
#> 
#> 
#> 
#> $MC$tooltips$ph
#> $MC$tooltips$ph$notes
#> [1] "Optional figure notes that will be carried over and used in other elements (e.g. reporting)."
#> 
#> $MC$tooltips$ph$fig_key
#> [1] "Unique description used for referencing figures and in other elements (e.g. reporting)."
#> 
#> 
#> $MC$tooltips$show_code
#> [1] "Show figure generation code"
#> 
#> $MC$tooltips$fg_elements
#> [1] "Current figure elements"
#> 
#> 
#> $MC$labels
#> $MC$labels$components
#> $MC$labels$components$x
#> [1] "x-axis"
#> 
#> $MC$labels$components$y
#> [1] "y-axis"
#> 
#> $MC$labels$components$color
#> [1] "color"
#> 
#> $MC$labels$components$linetype
#> [1] "line type"
#> 
#> $MC$labels$components$fill
#> [1] "fill color"
#> 
#> $MC$labels$components$weight
#> [1] "weight"
#> 
#> $MC$labels$components$ymin
#> [1] "ymin"
#> 
#> $MC$labels$components$ymax
#> [1] "ymax"
#> 
#> $MC$labels$components$lower
#> [1] "lower"
#> 
#> $MC$labels$components$middle
#> [1] "middle"
#> 
#> $MC$labels$components$upper
#> [1] "upper"
#> 
#> $MC$labels$components$shape
#> [1] "shape"
#> 
#> $MC$labels$components$size
#> [1] "size"
#> 
#> $MC$labels$components$alpha
#> [1] "transparency"
#> 
#> $MC$labels$components$group
#> [1] "group"
#> 
#> $MC$labels$components$xintercept
#> [1] "x intercept"
#> 
#> $MC$labels$components$yintercept
#> [1] "y intercept"
#> 
#> $MC$labels$components$yscale
#> [1] "y-scale"
#> 
#> $MC$labels$components$xscale
#> [1] "x-scale"
#> 
#> $MC$labels$components$ylim
#> [1] "y limits"
#> 
#> $MC$labels$components$xlim
#> [1] "x limits"
#> 
#> 
#> $MC$labels$ph
#> $MC$labels$ph$xlab
#> [1] "x-axis label"
#> 
#> $MC$labels$ph$ylab
#> [1] "y-axis label"
#> 
#> $MC$labels$ph$ggtitle
#> [1] "plot title"
#> 
#> $MC$labels$ph$notes
#> [1] "optional notes here"
#> 
#> $MC$labels$ph$fig_key
#> [1] "title/caption"
#> 
#> $MC$labels$ph$manual
#> [1] "Manual"
#> 
#> $MC$labels$ph$axlim
#> [1] "0.1, 1000 # Empty for auto"
#> 
#> 
#> $MC$labels$manual
#> [1] "Manual"
#> 
#> $MC$labels$not_used
#> [1] "Not Used"
#> 
#> $MC$labels$curr_figs_none
#> [1] "No figures yet created"
#> 
#> $MC$labels$no_fig_elements
#> [1] "Add figure elements"
#> 
#> $MC$labels$new_fig
#> [1] "New"
#> 
#> $MC$labels$save_fig
#> [1] "Save"
#> 
#> $MC$labels$del_fig
#> [1] "Delete"
#> 
#> $MC$labels$copy_fig
#> [1] "Copy"
#> 
#> $MC$labels$clip_fig
#> [1] "Code"
#> 
#> $MC$labels$upds_fig
#> [1] "Data set"
#> 
#> $MC$labels$add_ele
#> [1] "Add Figure Element"
#> 
#> $MC$labels$msg_bad_label
#> [1] "No labels were specified, unable to add element."
#> 
#> $MC$labels$msg_bad_facet
#> [1] "At least one column must be selected to add a faceting element."
#> 
#> $MC$labels$msg_bad_element
#> [1] "Unable to add the specified element: ===ELEMENT==="
#> 
#> $MC$labels$msg_bad_manual_comp
#> [1] "The plot element component ===COMP=== was specified manually but \nno manual value was provided."
#> 
#> $MC$labels$select_current_fig
#> [1] "Current figure"
#> 
#> $MC$labels$select_current_view
#> [1] "Data from"
#> 
#> $MC$labels$no_figures_defined
#> [1] "No figures have been defined. There are no data sources to create figures. You need to load data and create data views to use this module."
#> 
#> $MC$labels$busy
#> $MC$labels$busy$fig_update
#> [1] "Updating the current figure. Please be patient..."
#> 
#> 
#> 
#> $MC$errors
#> $MC$errors$element_not_added
#> [1] "Unable to add the data figure element:"
#> 
#> $MC$errors$current_key_empty
#> [1] "The figure description field cannot be empty."
#> 
#> $MC$errors$only_one_element
#> [1] "Only one element of ===ELEMENT=== type is allowed. The old ===ELEMENT=== will be replaced."
#> 
#> 
#> $MC$elements
#> $MC$elements$line
#> $MC$elements$line$choice
#> [1] "Line"
#> 
#> $MC$elements$line$subtext
#> [1] "Continuous line"
#> 
#> $MC$elements$line$ui_aes
#> [1] "x"        "y"        "color"    "group"    "linetype" "size"     "alpha"   
#> 
#> $MC$elements$line$aes_req
#> [1] "x" "y"
#> 
#> $MC$elements$line$fcn
#> [1] "geom_line"
#> 
#> 
#> $MC$elements$point
#> $MC$elements$point$choice
#> [1] "Point"
#> 
#> $MC$elements$point$subtext
#> [1] "Scatter plot"
#> 
#> $MC$elements$point$ui_aes
#> [1] "x"     "y"     "color" "group" "shape" "size"  "alpha"
#> 
#> $MC$elements$point$aes_req
#> [1] "x" "y"
#> 
#> $MC$elements$point$fcn
#> [1] "geom_point"
#> 
#> 
#> $MC$elements$errorbar
#> $MC$elements$errorbar$choice
#> [1] "Errobar"
#> 
#> $MC$elements$errorbar$subtext
#> [1] "Errorbars around points"
#> 
#> $MC$elements$errorbar$ui_aes
#> [1] "x"     "ymin"  "ymax"  "color" "group" "size"  "alpha"
#> 
#> $MC$elements$errorbar$aes_req
#> [1] "x"    "ymin" "ymax"
#> 
#> $MC$elements$errorbar$fcn
#> [1] "geom_errorbar"
#> 
#> 
#> $MC$elements$hguide
#> $MC$elements$hguide$choice
#> [1] "H-Guide"
#> 
#> $MC$elements$hguide$subtext
#> [1] "Horizontal guide"
#> 
#> $MC$elements$hguide$ui_aes
#> [1] "yintercept" "linetype"   "color"      "size"      
#> 
#> $MC$elements$hguide$aes_req
#> [1] "yintercept"
#> 
#> $MC$elements$hguide$fcn
#> [1] "geom_hline"
#> 
#> 
#> $MC$elements$vguide
#> $MC$elements$vguide$choice
#> [1] "V-Guide"
#> 
#> $MC$elements$vguide$subtext
#> [1] "Vertical guide"
#> 
#> $MC$elements$vguide$ui_aes
#> [1] "xintercept" "linetype"   "color"      "size"      
#> 
#> $MC$elements$vguide$aes_req
#> [1] "xintercept"
#> 
#> $MC$elements$vguide$fcn
#> [1] "geom_vline"
#> 
#> 
#> $MC$elements$facet
#> $MC$elements$facet$choice
#> [1] "Facet"
#> 
#> $MC$elements$facet$subtext
#> [1] "Facet by one or more variables"
#> 
#> 
#> $MC$elements$label
#> $MC$elements$label$choice
#> [1] "Label"
#> 
#> $MC$elements$label$subtext
#> [1] "Label axes or plot title"
#> 
#> $MC$elements$label$ui_text
#> [1] "xlab"    "ylab"    "ggtitle"
#> 
#> 
#> $MC$elements$scales
#> $MC$elements$scales$choice
#> [1] "Format Axes"
#> 
#> $MC$elements$scales$subtext
#> [1] "Axis scales and limits"
#> 
#> 
#> $MC$elements$smooth
#> $MC$elements$smooth$choice
#> [1] "Smooth Trend"
#> 
#> $MC$elements$smooth$subtext
#> [1] "Smoothed conditional means"
#> 
#> $MC$elements$smooth$ui_aes
#>  [1] "x"        "y"        "color"    "group"    "fill"     "weight"  
#>  [7] "linetype" "size"     "alpha"    "ymax"     "ymin"    
#> 
#> $MC$elements$smooth$aes_req
#> [1] "x" "y"
#> 
#> $MC$elements$smooth$fcn
#> [1] "geom_smooth"
#> 
#> 
#> $MC$elements$ribbon
#> $MC$elements$ribbon$choice
#> [1] "Shaded Area"
#> 
#> $MC$elements$ribbon$subtext
#> [1] "Creating prediction intervals"
#> 
#> $MC$elements$ribbon$ui_aes
#> [1] "x"        "ymin"     "ymax"     "color"    "group"    "fill"     "linetype"
#> [8] "size"     "alpha"   
#> 
#> $MC$elements$ribbon$aes_req
#> [1] "x"    "ymin" "ymax"
#> 
#> $MC$elements$ribbon$fcn
#> [1] "geom_ribbon"
#> 
#> 
#> $MC$elements$boxplot
#> $MC$elements$boxplot$choice
#> [1] "Boxplot"
#> 
#> $MC$elements$boxplot$subtext
#> [1] "Box and whiskers plot"
#> 
#> $MC$elements$boxplot$ui_aes
#>  [1] "x"        "y"        "lower"    "middle"   "upper"    "ymin"    
#>  [7] "ymax"     "color"    "group"    "fill"     "weight"   "linetype"
#> [13] "size"     "shape"    "alpha"   
#> 
#> $MC$elements$boxplot$aes_req
#> [1] "x" "y"
#> 
#> $MC$elements$boxplot$fcn
#> [1] "geom_boxplot"
#> 
#> 
#> 
#> $MC$formatting
#> $MC$formatting$code
#> $MC$formatting$code$width
#> [1] 800
#> 
#> $MC$formatting$code$height
#> [1] 300
#> 
#> 
#> $MC$formatting$preview
#> $MC$formatting$preview$width
#> [1] 800
#> 
#> $MC$formatting$preview$height
#> [1] 400
#> 
#> 
#> $MC$formatting$select_fg_page
#> $MC$formatting$select_fg_page$width
#> [1] 1000
#> 
#> 
#> $MC$formatting$notes
#> $MC$formatting$notes$width
#> [1] "560px"
#> 
#> $MC$formatting$notes$height
#> [1] "75px"
#> 
#> 
#> $MC$formatting$components
#> $MC$formatting$components$aes
#> $MC$formatting$components$aes$width
#> [1] "100px"
#> 
#> 
#> $MC$formatting$components$facet
#> $MC$formatting$components$facet$width
#> [1] "200px"
#> 
#> 
#> $MC$formatting$components$label
#> $MC$formatting$components$label$width
#> [1] "150px"
#> 
#> 
#> $MC$formatting$components$axscale
#> $MC$formatting$components$axscale$width
#> [1] "150px"
#> 
#> 
#> $MC$formatting$components$axlim
#> $MC$formatting$components$axlim$width
#> [1] "150px"
#> 
#> 
#> 
#> $MC$formatting$select_current_fig
#> $MC$formatting$select_current_fig$width
#> [1] 200
#> 
#> 
#> $MC$formatting$select_current_view
#> $MC$formatting$select_current_view$width
#> [1] 200
#> 
#> 
#> $MC$formatting$fg_elements
#> $MC$formatting$fg_elements$width
#> [1] 600
#> 
#> $MC$formatting$fg_elements$height
#> [1] 200
#> 
#> 
#> $MC$formatting$faceting
#> $MC$formatting$faceting$nrow
#> [1] 3
#> 
#> $MC$formatting$faceting$ncol
#> [1] 4
#> 
#> 
#> $MC$formatting$button_fig_del
#> $MC$formatting$button_fig_del$size
#> [1] "sm"
#> 
#> $MC$formatting$button_fig_del$block
#> [1] TRUE
#> 
#> $MC$formatting$button_fig_del$tooltip
#> [1] "Delete the current figure."
#> 
#> $MC$formatting$button_fig_del$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_fig_save
#> $MC$formatting$button_fig_save$size
#> [1] "sm"
#> 
#> $MC$formatting$button_fig_save$block
#> [1] TRUE
#> 
#> $MC$formatting$button_fig_save$tooltip
#> [1] "Save changes to caption, notes and data source."
#> 
#> $MC$formatting$button_fig_save$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_fig_clip
#> $MC$formatting$button_fig_clip$size
#> [1] "sm"
#> 
#> $MC$formatting$button_fig_clip$block
#> [1] TRUE
#> 
#> $MC$formatting$button_fig_clip$tooltip
#> [1] "Copy code to generate current figure to the clipboard."
#> 
#> $MC$formatting$button_fig_clip$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_fig_copy
#> $MC$formatting$button_fig_copy$size
#> [1] "sm"
#> 
#> $MC$formatting$button_fig_copy$block
#> [1] TRUE
#> 
#> $MC$formatting$button_fig_copy$tooltip
#> [1] "Copy current figure to a new figure."
#> 
#> $MC$formatting$button_fig_copy$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_fig_new
#> $MC$formatting$button_fig_new$size
#> [1] "sm"
#> 
#> $MC$formatting$button_fig_new$block
#> [1] TRUE
#> 
#> $MC$formatting$button_fig_new$tooltip
#> [1] "Create a new empty figure."
#> 
#> $MC$formatting$button_fig_new$tooltip_position
#> [1] "right"
#> 
#> 
#> $MC$formatting$button_fig_add
#> $MC$formatting$button_fig_add$size
#> [1] "sm"
#> 
#> $MC$formatting$button_fig_add$block
#> [1] TRUE
#> 
#> 
#> 
#> $MC$post_processing
#> [1] "===FGOBJ=== = ===FGOBJ=== + ggplot2::theme_light()"
#> 
#> $MC$fg_object_name
#> [1] "myp"
#> 
#> $MC$code
#> $MC$code$packages
#> [1] "ggplot2" "ggforce"
#> 
#> $MC$code$readOnly
#> [1] TRUE
#> 
#> $MC$code$mode
#> [1] "r"
#> 
#> $MC$code$preamble
#> [1] "# Generating figures ------------------------------------------------------"
#> 
#> 
#> 
#> $FG
#> $FG$button_counters
#> $FG$button_counters$button_element_add
#> [1] 0
#> 
#> $FG$button_counters$button_fig_save
#> [1] 0
#> 
#> $FG$button_counters$button_fig_new
#> [1] 0
#> 
#> $FG$button_counters$button_fig_del
#> [1] 0
#> 
#> $FG$button_counters$button_fig_copy
#> [1] 0
#> 
#> 
#> $FG$ui_hold
#> $FG$ui_hold$hot_fg_elements
#> [1] FALSE
#> 
#> $FG$ui_hold$text_fig_key
#> [1] FALSE
#> 
#> $FG$ui_hold$text_fig_notes
#> [1] FALSE
#> 
#> $FG$ui_hold$select_current_view
#> [1] FALSE
#> 
#> $FG$ui_hold$select_current_fig
#> [1] FALSE
#> 
#> 
#> $FG$ui_ids
#>  [1] "select_component_x"               "select_component_y"              
#>  [3] "select_component_color"           "select_component_group"          
#>  [5] "select_component_linetype"        "select_component_size"           
#>  [7] "select_component_alpha"           "text_component_x_manual"         
#>  [9] "text_component_y_manual"          "text_component_color_manual"     
#> [11] "text_component_group_manual"      "text_component_linetype_manual"  
#> [13] "text_component_size_manual"       "text_component_alpha_manual"     
#> [15] "select_component_shape"           "text_component_shape_manual"     
#> [17] "select_component_ymin"            "select_component_ymax"           
#> [19] "text_component_ymin_manual"       "text_component_ymax_manual"      
#> [21] "select_component_yintercept"      "text_component_yintercept_manual"
#> [23] "select_component_xintercept"      "text_component_xintercept_manual"
#> [25] "select_component_fill"            "select_component_weight"         
#> [27] "text_component_fill_manual"       "text_component_weight_manual"    
#> [29] "select_component_lower"           "select_component_middle"         
#> [31] "select_component_upper"           "text_component_lower_manual"     
#> [33] "text_component_middle_manual"     "text_component_upper_manual"     
#> [35] "button_fig_new"                   "button_fig_save"                 
#> [37] "button_fig_del"                   "button_fig_copy"                 
#> [39] "button_element_add"               "hot_fg_elements"                 
#> [41] "text_fig_key"                     "text_fig_notes"                  
#> [43] "text_component_xlab"              "text_component_ylab"             
#> [45] "text_component_xlim"              "text_component_ylim"             
#> [47] "text_component_ggtitle"           "select_fg_page"                  
#> [49] "select_current_fig"               "select_current_view"             
#> [51] "select_component_facet"           "select_component_xscale"         
#> [53] "select_component_yscale"          "select_fg_element"               
#> 
#> $FG$isgood
#> [1] FALSE
#> 
#> $FG$DSV
#> $FG$DSV$isgood
#> [1] FALSE
#> 
#> $FG$DSV$hasds
#> [1] FALSE
#> 
#> $FG$DSV$catalog
#> NULL
#> 
#> $FG$DSV$modules
#> list()
#> 
#> $FG$DSV$ds
#> list()
#> 
#> 
#> $FG$fig_cntr
#> [1] 0
#> 
#> $FG$aes_elements
#> [1] "line"     "point"    "errorbar" "hguide"   "vguide"   "smooth"   "ribbon"  
#> [8] "boxplot" 
#> 
#> $FG$auto_elements
#> $FG$auto_elements$line
#> $FG$auto_elements$line$ui_aes_select_id
#> [1] "select_component_x"        "select_component_y"       
#> [3] "select_component_color"    "select_component_group"   
#> [5] "select_component_linetype" "select_component_size"    
#> [7] "select_component_alpha"   
#> 
#> $FG$auto_elements$line$ui_aes_manual_id
#> [1] "text_component_x_manual"        "text_component_y_manual"       
#> [3] "text_component_color_manual"    "text_component_group_manual"   
#> [5] "text_component_linetype_manual" "text_component_size_manual"    
#> [7] "text_component_alpha_manual"   
#> 
#> 
#> $FG$auto_elements$point
#> $FG$auto_elements$point$ui_aes_select_id
#> [1] "select_component_x"     "select_component_y"     "select_component_color"
#> [4] "select_component_group" "select_component_shape" "select_component_size" 
#> [7] "select_component_alpha"
#> 
#> $FG$auto_elements$point$ui_aes_manual_id
#> [1] "text_component_x_manual"     "text_component_y_manual"    
#> [3] "text_component_color_manual" "text_component_group_manual"
#> [5] "text_component_shape_manual" "text_component_size_manual" 
#> [7] "text_component_alpha_manual"
#> 
#> 
#> $FG$auto_elements$errorbar
#> $FG$auto_elements$errorbar$ui_aes_select_id
#> [1] "select_component_x"     "select_component_ymin"  "select_component_ymax" 
#> [4] "select_component_color" "select_component_group" "select_component_size" 
#> [7] "select_component_alpha"
#> 
#> $FG$auto_elements$errorbar$ui_aes_manual_id
#> [1] "text_component_x_manual"     "text_component_ymin_manual" 
#> [3] "text_component_ymax_manual"  "text_component_color_manual"
#> [5] "text_component_group_manual" "text_component_size_manual" 
#> [7] "text_component_alpha_manual"
#> 
#> 
#> $FG$auto_elements$hguide
#> $FG$auto_elements$hguide$ui_aes_select_id
#> [1] "select_component_yintercept" "select_component_linetype"  
#> [3] "select_component_color"      "select_component_size"      
#> 
#> $FG$auto_elements$hguide$ui_aes_manual_id
#> [1] "text_component_yintercept_manual" "text_component_linetype_manual"  
#> [3] "text_component_color_manual"      "text_component_size_manual"      
#> 
#> 
#> $FG$auto_elements$vguide
#> $FG$auto_elements$vguide$ui_aes_select_id
#> [1] "select_component_xintercept" "select_component_linetype"  
#> [3] "select_component_color"      "select_component_size"      
#> 
#> $FG$auto_elements$vguide$ui_aes_manual_id
#> [1] "text_component_xintercept_manual" "text_component_linetype_manual"  
#> [3] "text_component_color_manual"      "text_component_size_manual"      
#> 
#> 
#> $FG$auto_elements$smooth
#> $FG$auto_elements$smooth$ui_aes_select_id
#>  [1] "select_component_x"        "select_component_y"       
#>  [3] "select_component_color"    "select_component_group"   
#>  [5] "select_component_fill"     "select_component_weight"  
#>  [7] "select_component_linetype" "select_component_size"    
#>  [9] "select_component_alpha"    "select_component_ymax"    
#> [11] "select_component_ymin"    
#> 
#> $FG$auto_elements$smooth$ui_aes_manual_id
#>  [1] "text_component_x_manual"        "text_component_y_manual"       
#>  [3] "text_component_color_manual"    "text_component_group_manual"   
#>  [5] "text_component_fill_manual"     "text_component_weight_manual"  
#>  [7] "text_component_linetype_manual" "text_component_size_manual"    
#>  [9] "text_component_alpha_manual"    "text_component_ymax_manual"    
#> [11] "text_component_ymin_manual"    
#> 
#> 
#> $FG$auto_elements$ribbon
#> $FG$auto_elements$ribbon$ui_aes_select_id
#> [1] "select_component_x"        "select_component_ymin"    
#> [3] "select_component_ymax"     "select_component_color"   
#> [5] "select_component_group"    "select_component_fill"    
#> [7] "select_component_linetype" "select_component_size"    
#> [9] "select_component_alpha"   
#> 
#> $FG$auto_elements$ribbon$ui_aes_manual_id
#> [1] "text_component_x_manual"        "text_component_ymin_manual"    
#> [3] "text_component_ymax_manual"     "text_component_color_manual"   
#> [5] "text_component_group_manual"    "text_component_fill_manual"    
#> [7] "text_component_linetype_manual" "text_component_size_manual"    
#> [9] "text_component_alpha_manual"   
#> 
#> 
#> $FG$auto_elements$boxplot
#> $FG$auto_elements$boxplot$ui_aes_select_id
#>  [1] "select_component_x"        "select_component_y"       
#>  [3] "select_component_lower"    "select_component_middle"  
#>  [5] "select_component_upper"    "select_component_ymin"    
#>  [7] "select_component_ymax"     "select_component_color"   
#>  [9] "select_component_group"    "select_component_fill"    
#> [11] "select_component_weight"   "select_component_linetype"
#> [13] "select_component_size"     "select_component_shape"   
#> [15] "select_component_alpha"   
#> 
#> $FG$auto_elements$boxplot$ui_aes_manual_id
#>  [1] "text_component_x_manual"        "text_component_y_manual"       
#>  [3] "text_component_lower_manual"    "text_component_middle_manual"  
#>  [5] "text_component_upper_manual"    "text_component_ymin_manual"    
#>  [7] "text_component_ymax_manual"     "text_component_color_manual"   
#>  [9] "text_component_group_manual"    "text_component_fill_manual"    
#> [11] "text_component_weight_manual"   "text_component_linetype_manual"
#> [13] "text_component_size_manual"     "text_component_shape_manual"   
#> [15] "text_component_alpha_manual"   
#> 
#> 
#> 
#> $FG$ui
#> $FG$ui$select_component_x
#> [1] ""
#> 
#> $FG$ui$select_component_y
#> [1] ""
#> 
#> $FG$ui$select_component_color
#> [1] ""
#> 
#> $FG$ui$select_component_group
#> [1] ""
#> 
#> $FG$ui$select_component_linetype
#> [1] ""
#> 
#> $FG$ui$select_component_size
#> [1] ""
#> 
#> $FG$ui$select_component_alpha
#> [1] ""
#> 
#> $FG$ui$text_component_x_manual
#> [1] ""
#> 
#> $FG$ui$text_component_y_manual
#> [1] ""
#> 
#> $FG$ui$text_component_color_manual
#> [1] ""
#> 
#> $FG$ui$text_component_group_manual
#> [1] ""
#> 
#> $FG$ui$text_component_linetype_manual
#> [1] ""
#> 
#> $FG$ui$text_component_size_manual
#> [1] ""
#> 
#> $FG$ui$text_component_alpha_manual
#> [1] ""
#> 
#> $FG$ui$select_component_shape
#> [1] ""
#> 
#> $FG$ui$text_component_shape_manual
#> [1] ""
#> 
#> $FG$ui$select_component_ymin
#> [1] ""
#> 
#> $FG$ui$select_component_ymax
#> [1] ""
#> 
#> $FG$ui$text_component_ymin_manual
#> [1] ""
#> 
#> $FG$ui$text_component_ymax_manual
#> [1] ""
#> 
#> $FG$ui$select_component_yintercept
#> [1] ""
#> 
#> $FG$ui$text_component_yintercept_manual
#> [1] ""
#> 
#> $FG$ui$select_component_xintercept
#> [1] ""
#> 
#> $FG$ui$text_component_xintercept_manual
#> [1] ""
#> 
#> $FG$ui$select_component_fill
#> [1] ""
#> 
#> $FG$ui$select_component_weight
#> [1] ""
#> 
#> $FG$ui$text_component_fill_manual
#> [1] ""
#> 
#> $FG$ui$text_component_weight_manual
#> [1] ""
#> 
#> $FG$ui$select_component_lower
#> [1] ""
#> 
#> $FG$ui$select_component_middle
#> [1] ""
#> 
#> $FG$ui$select_component_upper
#> [1] ""
#> 
#> $FG$ui$text_component_lower_manual
#> [1] ""
#> 
#> $FG$ui$text_component_middle_manual
#> [1] ""
#> 
#> $FG$ui$text_component_upper_manual
#> [1] ""
#> 
#> $FG$ui$button_fig_new
#> [1] ""
#> 
#> $FG$ui$button_fig_save
#> [1] ""
#> 
#> $FG$ui$button_fig_del
#> [1] ""
#> 
#> $FG$ui$button_fig_copy
#> [1] ""
#> 
#> $FG$ui$button_element_add
#> [1] ""
#> 
#> $FG$ui$hot_fg_elements
#> [1] ""
#> 
#> $FG$ui$text_fig_key
#> [1] ""
#> 
#> $FG$ui$text_fig_notes
#> [1] ""
#> 
#> $FG$ui$text_component_xlab
#> [1] ""
#> 
#> $FG$ui$text_component_ylab
#> [1] ""
#> 
#> $FG$ui$text_component_xlim
#> [1] ""
#> 
#> $FG$ui$text_component_ylim
#> [1] ""
#> 
#> $FG$ui$text_component_ggtitle
#> [1] ""
#> 
#> $FG$ui$select_fg_page
#> [1] ""
#> 
#> $FG$ui$select_current_fig
#> [1] ""
#> 
#> $FG$ui$select_current_view
#> [1] ""
#> 
#> $FG$ui$select_component_facet
#> [1] ""
#> 
#> $FG$ui$select_component_xscale
#> [1] ""
#> 
#> $FG$ui$select_component_yscale
#> [1] ""
#> 
#> $FG$ui$select_fg_element
#> [1] ""
#> 
#> 
#> $FG$current_fig
#> [1] ""
#> 
#> $FG$figs
#> $FG$figs[[1]]
#> $FG$figs[[1]]$page
#> [1] ""
#> 
#> 
#> 
#> 
#> $MOD_TYPE
#> [1] "FG"
#> 
#> $id
#> [1] "FG"
#> 
#> $dep_mod_ids
#> [1] "UD" "DW"
#> 
#> $FM_yaml_file
#> [1] "/private/var/folders/l9/6pm7xq5j1hn6l00zrs22j6mc0000gn/T/Rtmpxo3NAc/temp_libpathd88766845d8d/formods/templates/formods.yaml"
#> 
#> $MOD_yaml_file
#> [1] "/private/var/folders/l9/6pm7xq5j1hn6l00zrs22j6mc0000gn/T/Rtmpxo3NAc/temp_libpathd88766845d8d/formods/templates/FG.yaml"
#> 
#> $shiny_token
#> [1] "non_shiny"
#>