diff --git a/DESCRIPTION b/DESCRIPTION index b1e3a26..f85db6d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -18,7 +18,7 @@ Imports: utils, htmlwidgets, rstudioapi, - webshot, + webshot2, styler, methods, here, @@ -30,7 +30,8 @@ Suggests: rmarkdown, esquisse, tidyselect, - purrr + purrr, + webshot RoxygenNote: 7.3.2 Roxygen: list(markdown = TRUE) VignetteBuilder: knitr diff --git a/R/03_0_flow_view.R b/R/03_0_flow_view.R index fafe959..c9c12dc 100644 --- a/R/03_0_flow_view.R +++ b/R/03_0_flow_view.R @@ -32,7 +32,7 @@ #' can also be a vector of block ids, in this case `browser()` calls will be #' inserted at the start of these blocks #' @param out a path to save the diagram to. -#' Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to +#' Special values "html", "htm", "png", "pdf", "jpg", "jpeg" and "webp" can be used to #' export the object to a temp file of the relevant format and open it, #' if a regular path is used the format will be guessed from the extension. #' @param engine either `"nomnoml"` (default) or `"plantuml"` (experimental, brittle diff --git a/R/03_1_flow_view_nomnoml.R b/R/03_1_flow_view_nomnoml.R index 28cb7ee..a48b436 100644 --- a/R/03_1_flow_view_nomnoml.R +++ b/R/03_1_flow_view_nomnoml.R @@ -37,7 +37,12 @@ print.flow_diagram <- function(x, ...) { png <- tempfile("flow_", fileext = ".png") html <- tempfile("flow_", fileext = ".html") do.call(htmlwidgets::saveWidget, c(list(widget, html, FALSE))) - webshot::webshot(html, png, selector = "canvas") + if (isFALSE(getOption("flow.webshot2"))) { + webshot::webshot(html, png, selector = "canvas") + } else { + webshot2::webshot(html, png, selector = "canvas") + } + #FIXME: printing should return the input, but couldn't find another way here return(knitr::include_graphics(png)) } else { @@ -73,7 +78,7 @@ save_nomnoml <- function(code, out) { } ## flag if out is a temp file shorthand - is_tmp <- out %in% c("html", "htm", "png", "pdf", "jpg", "jpeg") + is_tmp <- out %in% c("html", "htm", "png", "pdf", "jpg", "jpeg", "webp") ## is it ? if (is_tmp) { @@ -92,7 +97,11 @@ save_nomnoml <- function(code, out) { ## save to a temp html file then convert to required output html <- tempfile("flow_", fileext = ".html") do.call(htmlwidgets::saveWidget, c(list(widget, html))) - webshot::webshot(html, out, selector = "canvas") + if (isFALSE(getOption("flow.webshot2"))) { + webshot::webshot(html, out, selector = "canvas") + } else { + webshot2::webshot(html, out, selector = "canvas") + } } ## was the out argument a temp file shorthand ? diff --git a/R/04_0_flow_run.R b/R/04_0_flow_run.R index 2e45ac1..95bf6d6 100644 --- a/R/04_0_flow_run.R +++ b/R/04_0_flow_run.R @@ -102,7 +102,7 @@ flow_run <- # hence the following call nomnoml::nomnoml_validate() - is_tmp <- out %in% c("html", "htm", "png", "pdf", "jpg", "jpeg") + is_tmp <- out %in% c("html", "htm", "png", "pdf", "jpg", "jpeg", "webp") if (is_tmp) { out <- tempfile("flow_", fileext = paste0(".", out)) } @@ -113,7 +113,11 @@ flow_run <- } else { html <- tempfile("flow_", fileext = ".html") do.call(htmlwidgets::saveWidget, c(list(widget, html))) - webshot::webshot(html, out, selector = "canvas") + if (isFALSE(getOption("flow.webshot2"))) { + webshot::webshot(html, out, selector = "canvas") + } else { + webshot2::webshot(html, out, selector = "canvas") + } } if (is_tmp) { diff --git a/R/07_C.R b/R/07_C.R index a9aeb98..15c3bbe 100644 --- a/R/07_C.R +++ b/R/07_C.R @@ -166,7 +166,7 @@ build_plantuml_code_from_c <- function(x, fun = NULL, out = NULL) { } ## flag if out is a temp file shorthand - is_tmp <- out %in% c("html", "htm", "png", "pdf", "jpg", "jpeg") + is_tmp <- out %in% c("html", "htm", "png", "pdf", "jpg", "jpeg", "webp") ## is it ? if (is_tmp) { diff --git a/R/12_flow_view_source_calls.R b/R/12_flow_view_source_calls.R index d0b01d0..8b54a9e 100644 --- a/R/12_flow_view_source_calls.R +++ b/R/12_flow_view_source_calls.R @@ -12,11 +12,14 @@ extract_strings <- function(call) { #' This evaluates the `file` argument of `source` in the global environment, #' when this fails, as it might with constructs like `for (file in files) source(file)` #' the unevaluated argument is printed instead between backticks. Since this messes -#' up the relationships in the graph, an warning is thus issued. In a case like `source(file.path(my_dir, "foo.R")` +#' up the relationships in the graph, an warning is thus issued. In a case like `source(file.path(my_dir, "foo.R"))` #' defining `my_dir` will be enough to solve the issue. #' In the latter case, if `smart` is `TRUE`, the function will check in all the paths in scope #' if any script is named "foo.R" and will consider it if a single fitting candidate is found. #' +#' `c(c(1)` +#' `c(c(1))` +#' #' @param paths Paths to scripts or folders containing scripts #' By default explores the working directory. #' @param recursive Passed to `list.files()` when `paths` contains directories diff --git a/R/flow-package.R b/R/flow-package.R index 606ad14..3649ff5 100644 --- a/R/flow-package.R +++ b/R/flow-package.R @@ -6,3 +6,16 @@ ## usethis namespace: end NULL +#' options for the 'flow' package +#' +#' * `flow.indenter`: To circumvent a limitation from nomnoml we use by default +#' the Braille character `"\u2800"` in places where consecutive standard +#' spaces would be ignored. On some systems it doesn't print nicely though, +#' `"\u00b7"` is another option that looks nice. +#' * `flow.svg`: Whether to use svg graphics in html or viewer output. +#' * `flow.webshot2`: Whether to use 'webshot2', set to `FALSE` to use 'webshot' +#' as was the default until version `0.2.0`. +#' +#' @aliases flow.indenter flow.svg flow.webshot2 +#' @name flow-options +NULL diff --git a/R/zz.R b/R/zz.R index 5fe698f..7096604 100644 --- a/R/zz.R +++ b/R/zz.R @@ -18,7 +18,8 @@ NULL op <- options() op.flow <- list( flow.indenter = "\u2800", - flow.svg = TRUE + flow.svg = TRUE, + flow.webshot2 = TRUE ) toset <- !(names(op.flow) %in% names(op)) if(any(toset)) options(op.flow[toset]) diff --git a/man/flow-options.Rd b/man/flow-options.Rd new file mode 100644 index 0000000..af274e8 --- /dev/null +++ b/man/flow-options.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/flow-package.R +\name{flow-options} +\alias{flow-options} +\alias{flow.indenter} +\alias{flow.svg} +\alias{flow.webshot2} +\title{options for the 'flow' package} +\description{ +\itemize{ +\item \code{flow.indenter}: To circumvent a limitation from nomnoml we use by default +the Braille character \code{"\\u2800"} in places where consecutive standard +spaces would be ignored. On some systems it doesn't print nicely though, +\code{"\\u00b7"} is another option that looks nice. +\item \code{flow.svg}: Whether to use svg graphics in html or viewer output. +\item \code{flow.webshot2}: Whether to use 'webshot2', set to \code{FALSE} to use 'webshot' +as was the default until version \verb{0.2.0}. +} +} diff --git a/man/flow_debug.Rd b/man/flow_debug.Rd index 60ae4df..996dd8d 100644 --- a/man/flow_debug.Rd +++ b/man/flow_debug.Rd @@ -37,7 +37,7 @@ is defined by special comments} \code{if(cond) var <- expr} so the diagram displays better} \item{out}{a path to save the diagram to. -Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to +Special values "html", "htm", "png", "pdf", "jpg", "jpeg" and "webp" can be used to export the object to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension.} diff --git a/man/flow_view.Rd b/man/flow_view.Rd index f92a7a7..61db4a2 100644 --- a/man/flow_view.Rd +++ b/man/flow_view.Rd @@ -63,7 +63,7 @@ x that we wish to inspect} \code{if(cond) var <- expr} so the diagram displays better} \item{out}{a path to save the diagram to. -Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to +Special values "html", "htm", "png", "pdf", "jpg", "jpeg" and "webp" can be used to export the object to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension.} diff --git a/man/flow_view_deps.Rd b/man/flow_view_deps.Rd index c072a4b..de916ee 100644 --- a/man/flow_view_deps.Rd +++ b/man/flow_view_deps.Rd @@ -36,7 +36,7 @@ one you'd create with \code{dplyr::lst()}, for instance \code{lst(fun1, pkg::fun \item{show_imports}{Whether to show imported "functions", only "packages", or "none"} \item{out}{a path to save the diagram to. -Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to +Special values "html", "htm", "png", "pdf", "jpg", "jpeg" and "webp" can be used to export the object to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension.} diff --git a/man/flow_view_shiny.Rd b/man/flow_view_shiny.Rd index b604bec..0b436c8 100644 --- a/man/flow_view_shiny.Rd +++ b/man/flow_view_shiny.Rd @@ -33,7 +33,7 @@ flow_view_shiny( \item{show_imports}{Whether to show imported "functions", only "packages", or "none"} \item{out}{a path to save the diagram to. -Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to +Special values "html", "htm", "png", "pdf", "jpg", "jpeg" and "webp" can be used to export the object to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension.} diff --git a/man/flow_view_source_calls.Rd b/man/flow_view_source_calls.Rd index 5a215ac..5070f50 100644 --- a/man/flow_view_source_calls.Rd +++ b/man/flow_view_source_calls.Rd @@ -27,7 +27,7 @@ By default explores the working directory.} match those to files found in \code{paths}} \item{out}{a path to save the diagram to. -Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to +Special values "html", "htm", "png", "pdf", "jpg", "jpeg" and "webp" can be used to export the object to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension.} } @@ -42,8 +42,11 @@ Assuming a project where files source each other, draw their dependency graph. This evaluates the \code{file} argument of \code{source} in the global environment, when this fails, as it might with constructs like \code{for (file in files) source(file)} the unevaluated argument is printed instead between backticks. Since this messes -up the relationships in the graph, an warning is thus issued. In a case like \verb{source(file.path(my_dir, "foo.R")} +up the relationships in the graph, an warning is thus issued. In a case like \code{source(file.path(my_dir, "foo.R"))} defining \code{my_dir} will be enough to solve the issue. In the latter case, if \code{smart} is \code{TRUE}, the function will check in all the paths in scope if any script is named "foo.R" and will consider it if a single fitting candidate is found. + +\verb{c(c(1)} +\code{c(c(1))} } diff --git a/man/flow_view_uses.Rd b/man/flow_view_uses.Rd index db0e2d3..97378b6 100644 --- a/man/flow_view_uses.Rd +++ b/man/flow_view_uses.Rd @@ -12,7 +12,7 @@ flow_view_uses(x, pkg = NULL, out = NULL) \item{pkg}{A package or environment to fetch callers from, by default \code{fun}'s environment} \item{out}{a path to save the diagram to. -Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to +Special values "html", "htm", "png", "pdf", "jpg", "jpeg" and "webp" can be used to export the object to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension.} } diff --git a/man/flow_view_vars.Rd b/man/flow_view_vars.Rd index 16895e3..1d5eaaf 100644 --- a/man/flow_view_vars.Rd +++ b/man/flow_view_vars.Rd @@ -20,7 +20,7 @@ flow_view_vars( \item{refactor}{If using 'refactor' package, whether to consider original or refactored code} \item{out}{a path to save the diagram to. -Special values "html", "htm", "png", "pdf", "jpg" and "jpeg" can be used to +Special values "html", "htm", "png", "pdf", "jpg", "jpeg" and "webp" can be used to export the object to a temp file of the relevant format and open it, if a regular path is used the format will be guessed from the extension.} } diff --git a/tests/testthat/_snaps/11_flow_view_shiny.md b/tests/testthat/_snaps/11_flow_view_shiny.md index b26033c..bd9c77e 100644 --- a/tests/testthat/_snaps/11_flow_view_shiny.md +++ b/tests/testthat/_snaps/11_flow_view_shiny.md @@ -3,184 +3,72 @@ Code flow_view_shiny(esquisse::esquisser, out = "data") Output - child_header - 1 esquisser (31) - 2 esquisse_server (190) - 3 controls_server (113) - 4 controls_axes_server (35) - 5 controls_code_server (40) - 6 controls_export_server (54) - 7 save_ggplot_modal (7) - 8 save_ggplot_ui (24) - 9 save_ggplot_server (34) - 10 controls_labs_server (63) - 11 controls_multigeoms_server (24) - 12 controls_geoms_server (60) - 13 palette_server (80) - 14 controls_options_server (32) - 15 controls_theme_server (18) - 16 create_col_server (6) - 17 cut_var_server (7) - 18 render_ggplot (96) - 19 save_ggplot_modal (7) - 20 save_ggplot_server (34) - 21 select_geom_aes_server (60) - 22 select_aes_server (86) - 23 show_data_server (13) - 24 update_fct_server (7) - 25 update_vars_server (12) - 26 esquisse_ui (61) - 27 controls_ui (87) - 28 controls_axes_ui (27) - 29 controls_code_ui (8) - 30 controls_export_ui (18) - 31 controls_labs_ui (22) - 32 controls_multigeoms_ui (11) - 33 controls_geoms_ui (67) - 34 palette_ui (14) - 35 controls_options_ui (16) - 36 controls_theme_ui (7) - 37 make_btn_header (33) - 38 create_col_ui (2) - 39 cut_var_ui (8) - 40 show_data_ui (6) - 41 update_fct_ui (7) - 42 update_vars_ui (6) - 43 select_geom_aes_ui (26) - 44 select_aes_ui (2) - external_ref - 1 esquisse::bs_theme_esquisse, esquisse:::dropListColumns, esquisse:::get_data, rstudioapi::isAvailable, shiny::browserViewer, shiny::dialogViewer, shiny::fillPage, shiny::paneViewer, shiny::runGadget - 2 datamods::i18n, datamods::import_modal, datamods::import_server, esquisse:::`%||%`, esquisse::build_aes, esquisse:::combine_aes, esquisse:::deparse2, esquisse:::dropNulls, esquisse::ggcall, esquisse:::make_aes, esquisse::match_geom_args, esquisse:::modal_settings, esquisse::potential_geoms, esquisse::safe_ggplot, esquisse::which_pal_scale, ggplot2::`%+%`, ggplot2::aes, ggplot2::as_label, ggplot2::labs, ggplot2::theme, ggplot2::xlim, ggplot2::ylim, grDevices::colors, rlang::expr, rlang::is_call, rlang::sym, shiny::is.reactive, shiny::is.reactivevalues, shiny::isTruthy, shiny::moduleServer, shiny::observe, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::req, shiny::showModal, shiny::stopApp, stats::setNames - 3 datamods::filter_data_server, esquisse:::col_type, esquisse:::dropNulls, ggplot2::labs, ggplot2::theme, grDevices::colors, graphics::title, shiny::callModule, shiny::observe, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::req, utils::modifyList - 4 esquisse:::dropNulls, esquisse:::get_axis_text, esquisse:::toggleDisplay, ggplot2::xlim, ggplot2::ylim, shiny::moduleServer, shiny::observeEvent, shiny::reactive - 5 downlit::classes_pandoc, downlit::highlight, esquisse:::deparse2, esquisse:::style_code, htmltools::HTML, rstudioapi::getSourceEditorContext, rstudioapi::insertText, shiny::moduleServer, shiny::observeEvent, shiny::renderUI - 6 datamods::i18n, esquisse:::download_plot_r, officer::add_slide, officer::ph_location_fullsize, officer::ph_with, officer::read_pptx, rvg::dml, shiny::downloadHandler, shiny::is.reactive, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::showNotification, shinyWidgets::hideDropMenu - 7 esquisse:::button_close_modal, htmltools::tagList, shiny::NS, shiny::checkboxInput, shiny::modalDialog, shiny::showModal - 8 datamods::i18n, esquisse:::genId, esquisse:::html_dependency_moveable, htmltools::css, htmltools::tagList, phosphoricons::ph, shiny::NS, shiny::actionButton, shiny::downloadButton, shiny::plotOutput, shiny::textInput, shinyWidgets::numericInputIcon, shinyWidgets::textInputIcon - 9 esquisse:::activate_resizer, esquisse:::download_plot_rv, esquisse:::resize, grDevices::bmp, grDevices::jpeg, grDevices::pdf, grDevices::png, grDevices::svg, grDevices::tiff, shiny::isTruthy, shiny::moduleServer, shiny::observeEvent, shiny::renderPlot, shiny::req, shinyWidgets::updateNumericInputIcon - 10 esquisse:::`%empty%`, esquisse:::get_labs_options, esquisse:::toggleDisplay, shiny::debounce, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::reactiveValuesToList, shiny::updateTextInput - 11 bslib::nav_select, esquisse:::combine_aes, grDevices::colors, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::reactiveValues - 12 esquisse:::dropNulls, esquisse:::dropNullsOrEmpty, esquisse:::toggleDisplay, shiny::bindEvent, shiny::debounce, shiny::moduleServer, shiny::observe, shiny::observeEvent, shiny::reactive - 13 esquisse:::col_type, esquisse:::get_palettes, esquisse:::makeId, esquisse::updatePalettePicker, grDevices::colorRampPalette, grDevices::palette, htmltools::css, htmltools::tagAppendAttributes, htmltools::tagList, scales::seq_gradient_pal, shiny::callModule, shiny::isolate, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::renderUI, shiny::req, shinyWidgets::colorPickr, stats::setNames - 14 esquisse:::toggleDisplay, shiny::debounce, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shinyWidgets::updateNumericInputIcon - 15 esquisse:::get_axis_text, ggplot2::theme, shiny::moduleServer, shiny::reactive - 16 datamods::create_column_server, datamods::modal_create_column, shiny::moduleServer, shiny::observeEvent, shiny::reactive - 17 datamods::cut_variable_server, datamods::modal_cut_variable, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::removeModal - 18 bslib::nav_select, datamods::i18n, esquisse:::activate_resizer, esquisse:::download_plot_fun, esquisse:::resize, officer::add_slide, officer::ph_location_fullsize, officer::ph_with, officer::read_pptx, plotly::ggplotly, plotly::renderPlotly, rvg::dml, shiny::bindEvent, shiny::downloadHandler, shiny::exprToFunction, shiny::is.reactive, shiny::isTruthy, shiny::moduleServer, shiny::observe, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::renderPlot, shiny::showNotification, shinyWidgets::hideDropMenu - 19 esquisse:::button_close_modal, htmltools::tagList, shiny::NS, shiny::checkboxInput, shiny::modalDialog, shiny::showModal - 20 esquisse:::activate_resizer, esquisse:::download_plot_rv, esquisse:::resize, grDevices::bmp, grDevices::jpeg, grDevices::pdf, grDevices::png, grDevices::svg, grDevices::tiff, shiny::isTruthy, shiny::moduleServer, shiny::observeEvent, shiny::renderPlot, shiny::req, shinyWidgets::updateNumericInputIcon - 21 esquisse::build_aes, esquisse:::dropNulls, esquisse:::geomIcons, esquisse::potential_geoms, esquisse::updateDropInput, shiny::bindEvent, shiny::moduleServer, shiny::observe, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::reactiveValuesToList - 22 esquisse:::badgeType, esquisse:::col_type, esquisse::dragulaInput, esquisse:::dropNulls, esquisse:::get_col_names, esquisse::updateDragulaInput, ggplot2::aes, htmltools::HTML, htmltools::tagList, shiny::is.reactive, shiny::isolate, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::renderUI - 23 datamods::i18n, datamods::show_data, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::showNotification - 24 datamods::modal_update_factor, datamods::update_factor_server, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::removeModal - 25 datamods::i18n, datamods::update_variables_server, datamods::update_variables_ui, esquisse:::button_close_modal, htmltools::tagList, shiny::modalDialog, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::showModal - 26 bslib::layout_sidebar, bslib::sidebar, datamods::show_data, esquisse::downloads_labels, esquisse::esquisse_container, esquisse::esquisse_header, esquisse:::geomIcons, esquisse::ggplot_output, esquisse:::html_dependency_clipboard, esquisse:::html_dependency_esquisse, esquisse:::play_pause_input, htmltools::tagList, rlang::is_list, shiny::NS, shiny::fillCol, utils::modifyList - 27 bslib::accordion, datamods::filter_data_ui, datamods::i18n, esquisse:::accordion_panel_, esquisse::downloads_labels, esquisse:::dropdown_, esquisse:::html_dependency_esquisse, htmltools::css, htmltools::tagList, phosphoricons::ph, shiny::NS, shiny::checkboxInput - 28 datamods::i18n, esquisse:::input_axis_text, htmltools::tagList, shiny::NS, shiny::conditionalPanel, shiny::numericInput, shiny::selectInput, shinyWidgets::numericRangeInput, shinyWidgets::prettyRadioButtons - 29 datamods::i18n, htmltools::tagList, phosphoricons::ph, shiny::NS, shiny::actionLink, shiny::uiOutput - 30 datamods::i18n, esquisse::downloads_labels, htmltools::css, htmltools::tagList, shiny::NS, shiny::actionLink, shiny::downloadButton, shinyWidgets::textInputIcon - 31 datamods::i18n, esquisse:::get_labs_defaults, esquisse:::labs_options_input, shiny::NS, shiny::textInput - 32 bslib::nav_panel_hidden, bslib::navset_hidden, shiny::NS - 33 datamods::i18n, esquisse:::get_colors, esquisse:::get_palettes, shiny::NS, shiny::sliderInput, shinyWidgets::colorPickr, shinyWidgets::prettyCheckbox, shinyWidgets::prettyRadioButtons, shinyWidgets::virtualSelectInput, stats::setNames, utils::head - 34 datamods::i18n, esquisse:::get_palettes, esquisse::palettePicker, htmltools::tagList, shiny::NS, shiny::checkboxInput, shiny::conditionalPanel, shiny::uiOutput, shinyWidgets::radioGroupButtons - 35 datamods::i18n, htmltools::tagList, shiny::NS, shiny::sliderInput, shinyWidgets::numericInputIcon, shinyWidgets::prettyRadioButtons, shinyWidgets::prettySwitch - 36 datamods::i18n, esquisse:::get_themes, esquisse:::input_legend_options, shiny::NS, shinyWidgets::virtualSelectInput - 37 datamods::i18n, datamods::show_data, esquisse:::btn_header - 38 datamods::i18n, esquisse:::btn_header, shiny::NS - 39 datamods::i18n, esquisse:::btn_header, htmltools::css, phosphoricons::ph, shiny::NS - 40 datamods::i18n, esquisse:::btn_header, htmltools::css, phosphoricons::ph, shiny::NS - 41 datamods::i18n, esquisse:::btn_header, htmltools::css, phosphoricons::ph, shiny::NS - 42 datamods::i18n, esquisse:::btn_header, htmltools::css, phosphoricons::ph, shiny::NS - 43 bslib::nav_panel, bslib::navset_pill, esquisse::dropInput, esquisse:::geomIcons, rlang::is_list, shiny::NS - 44 htmltools::tagList, shiny::NS, shiny::uiOutput - child_style parent_header parent_style - 1 expfun NA NA - 2 expfun esquisser (31) expfun - 3 unexpfun esquisse_server (190) expfun - 4 unexpfun controls_server (113) unexpfun - 5 unexpfun controls_server (113) unexpfun - 6 unexpfun controls_server (113) unexpfun - 7 expfun controls_export_server (54) unexpfun - 8 expfun save_ggplot_modal (7) expfun - 9 expfun controls_export_server (54) unexpfun - 10 unexpfun controls_server (113) unexpfun - 11 unexpfun controls_server (113) unexpfun - 12 unexpfun controls_multigeoms_server (24) unexpfun - 13 unexpfun controls_geoms_server (60) unexpfun - 14 unexpfun controls_server (113) unexpfun - 15 unexpfun controls_server (113) unexpfun - 16 unexpfun esquisse_server (190) expfun - 17 unexpfun esquisse_server (190) expfun - 18 expfun esquisse_server (190) expfun - 19 expfun render_ggplot (96) expfun - 20 expfun render_ggplot (96) expfun - 21 unexpfun esquisse_server (190) expfun - 22 unexpfun select_geom_aes_server (60) unexpfun - 23 unexpfun esquisse_server (190) expfun - 24 unexpfun esquisse_server (190) expfun - 25 unexpfun esquisse_server (190) expfun - 26 expfun esquisser (31) expfun - 27 unexpfun esquisse_ui (61) expfun - 28 unexpfun controls_ui (87) unexpfun - 29 unexpfun controls_ui (87) unexpfun - 30 unexpfun controls_ui (87) unexpfun - 31 unexpfun controls_ui (87) unexpfun - 32 unexpfun controls_ui (87) unexpfun - 33 unexpfun controls_multigeoms_ui (11) unexpfun - 34 unexpfun controls_geoms_ui (67) unexpfun - 35 unexpfun controls_ui (87) unexpfun - 36 unexpfun controls_ui (87) unexpfun - 37 unexpfun esquisse_ui (61) expfun - 38 unexpfun make_btn_header (33) unexpfun - 39 unexpfun make_btn_header (33) unexpfun - 40 unexpfun make_btn_header (33) unexpfun - 41 unexpfun make_btn_header (33) unexpfun - 42 unexpfun make_btn_header (33) unexpfun - 43 unexpfun esquisse_ui (61) expfun - 44 unexpfun select_geom_aes_ui (26) unexpfun - code - 1 [ esquisser (31)|esquisse::bs_theme_esquisse|esquisse:::dropListColumns|esquisse:::get_data|rstudioapi::isAvailable|shiny::browserViewer|shiny::dialogViewer|shiny::fillPage|shiny::paneViewer|shiny::runGadget] - 2 [ esquisser (31)] -> [ esquisse_server (190)|datamods::i18n|datamods::import_modal|datamods::import_server|esquisse:::`%\\|\\|%`|esquisse::build_aes|esquisse:::combine_aes|esquisse:::deparse2|esquisse:::dropNulls|esquisse::ggcall|esquisse:::make_aes|esquisse::match_geom_args|esquisse:::modal_settings|esquisse::potential_geoms|esquisse::safe_ggplot|esquisse::which_pal_scale|ggplot2::`%+%`|ggplot2::aes|ggplot2::as_label|ggplot2::labs|ggplot2::theme|ggplot2::xlim|ggplot2::ylim|grDevices::colors|rlang::expr|rlang::is_call|rlang::sym|shiny::is.reactive|shiny::is.reactivevalues|shiny::isTruthy|shiny::moduleServer|shiny::observe|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::req|shiny::showModal|shiny::stopApp|stats::setNames] - 3 [ esquisse_server (190)] -> [ controls_server (113)|datamods::filter_data_server|esquisse:::col_type|esquisse:::dropNulls|ggplot2::labs|ggplot2::theme|grDevices::colors|graphics::title|shiny::callModule|shiny::observe|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::req|utils::modifyList] - 4 [ controls_server (113)] -> [ controls_axes_server (35)|esquisse:::dropNulls|esquisse:::get_axis_text|esquisse:::toggleDisplay|ggplot2::xlim|ggplot2::ylim|shiny::moduleServer|shiny::observeEvent|shiny::reactive] - 5 [ controls_server (113)] -> [ controls_code_server (40)|downlit::classes_pandoc|downlit::highlight|esquisse:::deparse2|esquisse:::style_code|htmltools::HTML|rstudioapi::getSourceEditorContext|rstudioapi::insertText|shiny::moduleServer|shiny::observeEvent|shiny::renderUI] - 6 [ controls_server (113)] -> [ controls_export_server (54)|datamods::i18n|esquisse:::download_plot_r|officer::add_slide|officer::ph_location_fullsize|officer::ph_with|officer::read_pptx|rvg::dml|shiny::downloadHandler|shiny::is.reactive|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::showNotification|shinyWidgets::hideDropMenu] - 7 [ controls_export_server (54)] -> [ save_ggplot_modal (7)|esquisse:::button_close_modal|htmltools::tagList|shiny::NS|shiny::checkboxInput|shiny::modalDialog|shiny::showModal] - 8 [ save_ggplot_modal (7)] -> [ save_ggplot_ui (24)|datamods::i18n|esquisse:::genId|esquisse:::html_dependency_moveable|htmltools::css|htmltools::tagList|phosphoricons::ph|shiny::NS|shiny::actionButton|shiny::downloadButton|shiny::plotOutput|shiny::textInput|shinyWidgets::numericInputIcon|shinyWidgets::textInputIcon] - 9 [ controls_export_server (54)] -> [ save_ggplot_server (34)|esquisse:::activate_resizer|esquisse:::download_plot_rv|esquisse:::resize|grDevices::bmp|grDevices::jpeg|grDevices::pdf|grDevices::png|grDevices::svg|grDevices::tiff|shiny::isTruthy|shiny::moduleServer|shiny::observeEvent|shiny::renderPlot|shiny::req|shinyWidgets::updateNumericInputIcon] - 10 [ controls_server (113)] -> [ controls_labs_server (63)|esquisse:::`%empty%`|esquisse:::get_labs_options|esquisse:::toggleDisplay|shiny::debounce|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::reactiveValuesToList|shiny::updateTextInput] - 11 [ controls_server (113)] -> [ controls_multigeoms_server (24)|bslib::nav_select|esquisse:::combine_aes|grDevices::colors|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::reactiveValues] - 12 [ controls_multigeoms_server (24)] -> [ controls_geoms_server (60)|esquisse:::dropNulls|esquisse:::dropNullsOrEmpty|esquisse:::toggleDisplay|shiny::bindEvent|shiny::debounce|shiny::moduleServer|shiny::observe|shiny::observeEvent|shiny::reactive] - 13 [ controls_geoms_server (60)] -> [ palette_server (80)|esquisse:::col_type|esquisse:::get_palettes|esquisse:::makeId|esquisse::updatePalettePicker|grDevices::colorRampPalette|grDevices::palette|htmltools::css|htmltools::tagAppendAttributes|htmltools::tagList|scales::seq_gradient_pal|shiny::callModule|shiny::isolate|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::renderUI|shiny::req|shinyWidgets::colorPickr|stats::setNames] - 14 [ controls_server (113)] -> [ controls_options_server (32)|esquisse:::toggleDisplay|shiny::debounce|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shinyWidgets::updateNumericInputIcon] - 15 [ controls_server (113)] -> [ controls_theme_server (18)|esquisse:::get_axis_text|ggplot2::theme|shiny::moduleServer|shiny::reactive] - 16 [ esquisse_server (190)] -> [ create_col_server (6)|datamods::create_column_server|datamods::modal_create_column|shiny::moduleServer|shiny::observeEvent|shiny::reactive] - 17 [ esquisse_server (190)] -> [ cut_var_server (7)|datamods::cut_variable_server|datamods::modal_cut_variable|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::removeModal] - 18 [ esquisse_server (190)] -> [ render_ggplot (96)|bslib::nav_select|datamods::i18n|esquisse:::activate_resizer|esquisse:::download_plot_fun|esquisse:::resize|officer::add_slide|officer::ph_location_fullsize|officer::ph_with|officer::read_pptx|plotly::ggplotly|plotly::renderPlotly|rvg::dml|shiny::bindEvent|shiny::downloadHandler|shiny::exprToFunction|shiny::is.reactive|shiny::isTruthy|shiny::moduleServer|shiny::observe|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::renderPlot|shiny::showNotification|shinyWidgets::hideDropMenu] - 19 [ render_ggplot (96)] -> [ save_ggplot_modal (7)|esquisse:::button_close_modal|htmltools::tagList|shiny::NS|shiny::checkboxInput|shiny::modalDialog|shiny::showModal] - 20 [ render_ggplot (96)] -> [ save_ggplot_server (34)|esquisse:::activate_resizer|esquisse:::download_plot_rv|esquisse:::resize|grDevices::bmp|grDevices::jpeg|grDevices::pdf|grDevices::png|grDevices::svg|grDevices::tiff|shiny::isTruthy|shiny::moduleServer|shiny::observeEvent|shiny::renderPlot|shiny::req|shinyWidgets::updateNumericInputIcon] - 21 [ esquisse_server (190)] -> [ select_geom_aes_server (60)|esquisse::build_aes|esquisse:::dropNulls|esquisse:::geomIcons|esquisse::potential_geoms|esquisse::updateDropInput|shiny::bindEvent|shiny::moduleServer|shiny::observe|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::reactiveValuesToList] - 22 [ select_geom_aes_server (60)] -> [ select_aes_server (86)|esquisse:::badgeType|esquisse:::col_type|esquisse::dragulaInput|esquisse:::dropNulls|esquisse:::get_col_names|esquisse::updateDragulaInput|ggplot2::aes|htmltools::HTML|htmltools::tagList|shiny::is.reactive|shiny::isolate|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::renderUI] - 23 [ esquisse_server (190)] -> [ show_data_server (13)|datamods::i18n|datamods::show_data|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::showNotification] - 24 [ esquisse_server (190)] -> [ update_fct_server (7)|datamods::modal_update_factor|datamods::update_factor_server|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::removeModal] - 25 [ esquisse_server (190)] -> [ update_vars_server (12)|datamods::i18n|datamods::update_variables_server|datamods::update_variables_ui|esquisse:::button_close_modal|htmltools::tagList|shiny::modalDialog|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::showModal] - 26 [ esquisser (31)] -> [ esquisse_ui (61)|bslib::layout_sidebar|bslib::sidebar|datamods::show_data|esquisse::downloads_labels|esquisse::esquisse_container|esquisse::esquisse_header|esquisse:::geomIcons|esquisse::ggplot_output|esquisse:::html_dependency_clipboard|esquisse:::html_dependency_esquisse|esquisse:::play_pause_input|htmltools::tagList|rlang::is_list|shiny::NS|shiny::fillCol|utils::modifyList] - 27 [ esquisse_ui (61)] -> [ controls_ui (87)|bslib::accordion|datamods::filter_data_ui|datamods::i18n|esquisse:::accordion_panel_|esquisse::downloads_labels|esquisse:::dropdown_|esquisse:::html_dependency_esquisse|htmltools::css|htmltools::tagList|phosphoricons::ph|shiny::NS|shiny::checkboxInput] - 28 [ controls_ui (87)] -> [ controls_axes_ui (27)|datamods::i18n|esquisse:::input_axis_text|htmltools::tagList|shiny::NS|shiny::conditionalPanel|shiny::numericInput|shiny::selectInput|shinyWidgets::numericRangeInput|shinyWidgets::prettyRadioButtons] - 29 [ controls_ui (87)] -> [ controls_code_ui (8)|datamods::i18n|htmltools::tagList|phosphoricons::ph|shiny::NS|shiny::actionLink|shiny::uiOutput] - 30 [ controls_ui (87)] -> [ controls_export_ui (18)|datamods::i18n|esquisse::downloads_labels|htmltools::css|htmltools::tagList|shiny::NS|shiny::actionLink|shiny::downloadButton|shinyWidgets::textInputIcon] - 31 [ controls_ui (87)] -> [ controls_labs_ui (22)|datamods::i18n|esquisse:::get_labs_defaults|esquisse:::labs_options_input|shiny::NS|shiny::textInput] - 32 [ controls_ui (87)] -> [ controls_multigeoms_ui (11)|bslib::nav_panel_hidden|bslib::navset_hidden|shiny::NS] - 33 [ controls_multigeoms_ui (11)] -> [ controls_geoms_ui (67)|datamods::i18n|esquisse:::get_colors|esquisse:::get_palettes|shiny::NS|shiny::sliderInput|shinyWidgets::colorPickr|shinyWidgets::prettyCheckbox|shinyWidgets::prettyRadioButtons|shinyWidgets::virtualSelectInput|stats::setNames|utils::head] - 34 [ controls_geoms_ui (67)] -> [ palette_ui (14)|datamods::i18n|esquisse:::get_palettes|esquisse::palettePicker|htmltools::tagList|shiny::NS|shiny::checkboxInput|shiny::conditionalPanel|shiny::uiOutput|shinyWidgets::radioGroupButtons] - 35 [ controls_ui (87)] -> [ controls_options_ui (16)|datamods::i18n|htmltools::tagList|shiny::NS|shiny::sliderInput|shinyWidgets::numericInputIcon|shinyWidgets::prettyRadioButtons|shinyWidgets::prettySwitch] - 36 [ controls_ui (87)] -> [ controls_theme_ui (7)|datamods::i18n|esquisse:::get_themes|esquisse:::input_legend_options|shiny::NS|shinyWidgets::virtualSelectInput] - 37 [ esquisse_ui (61)] -> [ make_btn_header (33)|datamods::i18n|datamods::show_data|esquisse:::btn_header] - 38 [ make_btn_header (33)] -> [ create_col_ui (2)|datamods::i18n|esquisse:::btn_header|shiny::NS] - 39 [ make_btn_header (33)] -> [ cut_var_ui (8)|datamods::i18n|esquisse:::btn_header|htmltools::css|phosphoricons::ph|shiny::NS] - 40 [ make_btn_header (33)] -> [ show_data_ui (6)|datamods::i18n|esquisse:::btn_header|htmltools::css|phosphoricons::ph|shiny::NS] - 41 [ make_btn_header (33)] -> [ update_fct_ui (7)|datamods::i18n|esquisse:::btn_header|htmltools::css|phosphoricons::ph|shiny::NS] - 42 [ make_btn_header (33)] -> [ update_vars_ui (6)|datamods::i18n|esquisse:::btn_header|htmltools::css|phosphoricons::ph|shiny::NS] - 43 [ esquisse_ui (61)] -> [ select_geom_aes_ui (26)|bslib::nav_panel|bslib::navset_pill|esquisse::dropInput|esquisse:::geomIcons|rlang::is_list|shiny::NS] - 44 [ select_geom_aes_ui (26)] -> [ select_aes_ui (2)|htmltools::tagList|shiny::NS|shiny::uiOutput] + child_header + 1 esquisser (30) + 2 esquisse_server (207) + 3 controls_server (253) + 4 palette_server (80) + 5 render_ggplot (56) + 6 save_ggplot_modal (7) + 7 save_ggplot_ui (24) + 8 save_ggplot_server (34) + 9 select_aes_server (56) + 10 show_data_server (13) + 11 esquisse_ui (41) + 12 controls_ui (41) + 13 controls_appearance (35) + 14 palette_ui (14) + 15 select_aes_ui (2) + 16 show_data_ui (4) + external_ref + 1 esquisse:::bs_theme_esquisse, esquisse:::dropListColumns, esquisse:::get_data, rstudioapi::isAvailable, shiny::browserViewer, shiny::dialogViewer, shiny::fillPage, shiny::paneViewer, shiny::runGadget + 2 datamods::i18n, datamods::import_modal, datamods::import_server, esquisse:::`%||%`, esquisse::build_aes, esquisse:::col_type, esquisse:::deparse2, esquisse:::dropNullsOrEmpty, esquisse:::geomIcons, esquisse::ggcall, esquisse:::make_aes, esquisse::match_geom_args, esquisse:::modal_settings, esquisse::potential_geoms, esquisse::safe_ggplot, esquisse:::select_geom_controls, esquisse:::syms2, esquisse::updateDropInput, esquisse::which_pal_scale, ggplot2::`%+%`, ggplot2::aes, ggplot2::as_label, ggplot2::labs, ggplot2::theme, grDevices::colors, grDevices::palette, rlang::expr, rlang::is_call, rlang::sym, shiny::is.reactive, shiny::is.reactivevalues, shiny::moduleServer, shiny::observe, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::req, shiny::showModal, shiny::stopApp, stats::setNames, stats::smooth + 3 datamods::filter_data_server, esquisse:::`%empty%`, esquisse:::deparse2, esquisse:::dropNulls, esquisse:::get_labs_options, esquisse:::rCodeContainer, esquisse:::style_code, esquisse:::toggleDisplay, ggplot2::labs, ggplot2::theme, ggplot2::xlim, ggplot2::ylim, grDevices::colors, grDevices::palette, htmltools::tagList, rstudioapi::getSourceEditorContext, rstudioapi::insertText, shiny::callModule, shiny::debounce, shiny::observe, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::reactiveValuesToList, shiny::renderUI, shiny::req, shiny::updateSliderInput, shiny::updateTextInput, stats::smooth, utils::data + 4 esquisse:::col_type, esquisse:::get_palettes, esquisse:::makeId, esquisse::updatePalettePicker, grDevices::colorRampPalette, grDevices::palette, htmltools::css, htmltools::tagAppendAttributes, htmltools::tagList, scales::seq_gradient_pal, shiny::callModule, shiny::isolate, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::renderUI, shiny::req, shinyWidgets::colorPickr, stats::setNames + 5 datamods::i18n, esquisse:::download_plot_fun, officer::add_slide, officer::ph_location_fullsize, officer::ph_with, officer::read_pptx, rvg::dml, shiny::downloadHandler, shiny::exprToFunction, shiny::is.reactive, shiny::moduleServer, shiny::observeEvent, shiny::reactiveValues, shiny::renderPlot, shiny::showNotification, shinyWidgets::hideDropMenu + 6 esquisse:::button_close_modal, htmltools::tagList, shiny::NS, shiny::checkboxInput, shiny::modalDialog, shiny::showModal + 7 datamods::i18n, esquisse:::genId, esquisse:::html_dependency_moveable, htmltools::css, htmltools::tagList, phosphoricons::ph, shiny::NS, shiny::actionButton, shiny::downloadButton, shiny::plotOutput, shiny::textInput, shinyWidgets::numericInputIcon, shinyWidgets::textInputIcon + 8 esquisse:::activate_resizer, esquisse:::download_plot_rv, esquisse:::resize, grDevices::bmp, grDevices::jpeg, grDevices::pdf, grDevices::png, grDevices::svg, grDevices::tiff, shiny::isTruthy, shiny::moduleServer, shiny::observeEvent, shiny::renderPlot, shiny::req, shinyWidgets::updateNumericInputIcon + 9 esquisse:::badgeType, esquisse:::col_type, esquisse::dragulaInput, esquisse:::dropNulls, esquisse:::get_col_names, esquisse::updateDragulaInput, ggplot2::aes, shiny::is.reactive, shiny::isolate, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::reactiveValues, shiny::renderUI + 10 datamods::i18n, datamods::show_data, shiny::moduleServer, shiny::observeEvent, shiny::reactive, shiny::showNotification + 11 datamods::i18n, datamods::show_data, esquisse::downloads_labels, esquisse::dropInput, esquisse::esquisseContainer, esquisse:::geomIcons, esquisse::ggplot_output, esquisse:::html_dependency_clipboard, esquisse:::html_dependency_esquisse, esquisse:::play_pause_input, phosphoricons::ph, rlang::is_list, shiny::NS, shiny::actionButton, shiny::fillCol, utils::modifyList + 12 datamods::filter_data_ui, datamods::i18n, esquisse:::controls_code, esquisse:::controls_labs, esquisse:::controls_params, esquisse:::dropdown_, esquisse:::html_dependency_esquisse, htmltools::tagList, phosphoricons::ph, shiny::NS, shiny::checkboxInput + 13 datamods::i18n, esquisse:::get_colors, esquisse:::get_palettes, esquisse:::get_themes, htmltools::tagList, phosphoricons::ph, shinyWidgets::colorPickr, shinyWidgets::pickerInput, shinyWidgets::radioGroupButtons, utils::head + 14 datamods::i18n, esquisse:::get_palettes, esquisse::palettePicker, htmltools::tagList, shiny::NS, shiny::checkboxInput, shiny::conditionalPanel, shiny::uiOutput, shinyWidgets::radioGroupButtons + 15 htmltools::tagList, shiny::NS, shiny::uiOutput + 16 datamods::i18n, htmltools::tagList, phosphoricons::ph, shiny::NS, shiny::actionButton + child_style parent_header parent_style + 1 expfun NA NA + 2 expfun esquisser (30) expfun + 3 unexpfun esquisse_server (207) expfun + 4 unexpfun controls_server (253) unexpfun + 5 expfun esquisse_server (207) expfun + 6 expfun render_ggplot (56) expfun + 7 expfun save_ggplot_modal (7) expfun + 8 expfun render_ggplot (56) expfun + 9 unexpfun esquisse_server (207) expfun + 10 unexpfun esquisse_server (207) expfun + 11 expfun esquisser (30) expfun + 12 unexpfun esquisse_ui (41) expfun + 13 unexpfun controls_ui (41) unexpfun + 14 unexpfun controls_appearance (35) unexpfun + 15 unexpfun esquisse_ui (41) expfun + 16 unexpfun esquisse_ui (41) expfun + code + 1 [ esquisser (30)|esquisse:::bs_theme_esquisse|esquisse:::dropListColumns|esquisse:::get_data|rstudioapi::isAvailable|shiny::browserViewer|shiny::dialogViewer|shiny::fillPage|shiny::paneViewer|shiny::runGadget] + 2 [ esquisser (30)] -> [ esquisse_server (207)|datamods::i18n|datamods::import_modal|datamods::import_server|esquisse:::`%\\|\\|%`|esquisse::build_aes|esquisse:::col_type|esquisse:::deparse2|esquisse:::dropNullsOrEmpty|esquisse:::geomIcons|esquisse::ggcall|esquisse:::make_aes|esquisse::match_geom_args|esquisse:::modal_settings|esquisse::potential_geoms|esquisse::safe_ggplot|esquisse:::select_geom_controls|esquisse:::syms2|esquisse::updateDropInput|esquisse::which_pal_scale|ggplot2::`%+%`|ggplot2::aes|ggplot2::as_label|ggplot2::labs|ggplot2::theme|grDevices::colors|grDevices::palette|rlang::expr|rlang::is_call|rlang::sym|shiny::is.reactive|shiny::is.reactivevalues|shiny::moduleServer|shiny::observe|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::req|shiny::showModal|shiny::stopApp|stats::setNames|stats::smooth] + 3 [ esquisse_server (207)] -> [ controls_server (253)|datamods::filter_data_server|esquisse:::`%empty%`|esquisse:::deparse2|esquisse:::dropNulls|esquisse:::get_labs_options|esquisse:::rCodeContainer|esquisse:::style_code|esquisse:::toggleDisplay|ggplot2::labs|ggplot2::theme|ggplot2::xlim|ggplot2::ylim|grDevices::colors|grDevices::palette|htmltools::tagList|rstudioapi::getSourceEditorContext|rstudioapi::insertText|shiny::callModule|shiny::debounce|shiny::observe|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::reactiveValuesToList|shiny::renderUI|shiny::req|shiny::updateSliderInput|shiny::updateTextInput|stats::smooth|utils::data] + 4 [ controls_server (253)] -> [ palette_server (80)|esquisse:::col_type|esquisse:::get_palettes|esquisse:::makeId|esquisse::updatePalettePicker|grDevices::colorRampPalette|grDevices::palette|htmltools::css|htmltools::tagAppendAttributes|htmltools::tagList|scales::seq_gradient_pal|shiny::callModule|shiny::isolate|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::renderUI|shiny::req|shinyWidgets::colorPickr|stats::setNames] + 5 [ esquisse_server (207)] -> [ render_ggplot (56)|datamods::i18n|esquisse:::download_plot_fun|officer::add_slide|officer::ph_location_fullsize|officer::ph_with|officer::read_pptx|rvg::dml|shiny::downloadHandler|shiny::exprToFunction|shiny::is.reactive|shiny::moduleServer|shiny::observeEvent|shiny::reactiveValues|shiny::renderPlot|shiny::showNotification|shinyWidgets::hideDropMenu] + 6 [ render_ggplot (56)] -> [ save_ggplot_modal (7)|esquisse:::button_close_modal|htmltools::tagList|shiny::NS|shiny::checkboxInput|shiny::modalDialog|shiny::showModal] + 7 [ save_ggplot_modal (7)] -> [ save_ggplot_ui (24)|datamods::i18n|esquisse:::genId|esquisse:::html_dependency_moveable|htmltools::css|htmltools::tagList|phosphoricons::ph|shiny::NS|shiny::actionButton|shiny::downloadButton|shiny::plotOutput|shiny::textInput|shinyWidgets::numericInputIcon|shinyWidgets::textInputIcon] + 8 [ render_ggplot (56)] -> [ save_ggplot_server (34)|esquisse:::activate_resizer|esquisse:::download_plot_rv|esquisse:::resize|grDevices::bmp|grDevices::jpeg|grDevices::pdf|grDevices::png|grDevices::svg|grDevices::tiff|shiny::isTruthy|shiny::moduleServer|shiny::observeEvent|shiny::renderPlot|shiny::req|shinyWidgets::updateNumericInputIcon] + 9 [ esquisse_server (207)] -> [ select_aes_server (56)|esquisse:::badgeType|esquisse:::col_type|esquisse::dragulaInput|esquisse:::dropNulls|esquisse:::get_col_names|esquisse::updateDragulaInput|ggplot2::aes|shiny::is.reactive|shiny::isolate|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::reactiveValues|shiny::renderUI] + 10 [ esquisse_server (207)] -> [ show_data_server (13)|datamods::i18n|datamods::show_data|shiny::moduleServer|shiny::observeEvent|shiny::reactive|shiny::showNotification] + 11 [ esquisser (30)] -> [ esquisse_ui (41)|datamods::i18n|datamods::show_data|esquisse::downloads_labels|esquisse::dropInput|esquisse::esquisseContainer|esquisse:::geomIcons|esquisse::ggplot_output|esquisse:::html_dependency_clipboard|esquisse:::html_dependency_esquisse|esquisse:::play_pause_input|phosphoricons::ph|rlang::is_list|shiny::NS|shiny::actionButton|shiny::fillCol|utils::modifyList] + 12 [ esquisse_ui (41)] -> [ controls_ui (41)|datamods::filter_data_ui|datamods::i18n|esquisse:::controls_code|esquisse:::controls_labs|esquisse:::controls_params|esquisse:::dropdown_|esquisse:::html_dependency_esquisse|htmltools::tagList|phosphoricons::ph|shiny::NS|shiny::checkboxInput] + 13 [ controls_ui (41)] -> [ controls_appearance (35)|datamods::i18n|esquisse:::get_colors|esquisse:::get_palettes|esquisse:::get_themes|htmltools::tagList|phosphoricons::ph|shinyWidgets::colorPickr|shinyWidgets::pickerInput|shinyWidgets::radioGroupButtons|utils::head] + 14 [ controls_appearance (35)] -> [ palette_ui (14)|datamods::i18n|esquisse:::get_palettes|esquisse::palettePicker|htmltools::tagList|shiny::NS|shiny::checkboxInput|shiny::conditionalPanel|shiny::uiOutput|shinyWidgets::radioGroupButtons] + 15 [ esquisse_ui (41)] -> [ select_aes_ui (2)|htmltools::tagList|shiny::NS|shiny::uiOutput] + 16 [ esquisse_ui (41)] -> [ show_data_ui (4)|datamods::i18n|htmltools::tagList|phosphoricons::ph|shiny::NS|shiny::actionButton]