From 6534ac7b6e407ca7d60c58c5cb5d1e1c257cc3c9 Mon Sep 17 00:00:00 2001 From: Mmoisse Date: Fri, 31 Jul 2020 20:46:04 +0200 Subject: [PATCH] Added activate_material_side_nav_tab --- DESCRIPTION | 8 ++++++-- NAMESPACE | 2 +- R/activate_material_side_nav_tab.R | 28 +++++++++++++++++++++++++++ man/activate_material_side_nav_tab.Rd | 24 +++++++++++++++++++++++ 4 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 R/activate_material_side_nav_tab.R create mode 100644 man/activate_material_side_nav_tab.Rd diff --git a/DESCRIPTION b/DESCRIPTION index 442329a..4e27bb7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -13,7 +13,11 @@ Maintainer: Eric Anderson Description: Allows shiny developers to incorporate UI elements based on Google's Material design. See for more information. URL: https://ericrayanderson.github.io/shinymaterial/ License: GPL-3 | file LICENSE -Imports: shiny (>= 0.7.0), jsonlite, sass +Imports: + shiny (>= 0.7.0), + jsonlite, + sass, + shinyjs Encoding: UTF-8 LazyData: true -RoxygenNote: 7.1.0 +RoxygenNote: 7.1.1 diff --git a/NAMESPACE b/NAMESPACE index 9e6d26a..86aef06 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -40,4 +40,4 @@ export(update_material_radio_button) export(update_material_slider) export(update_material_switch) export(update_material_text_box) - +export(activate_material_side_nav_tab) diff --git a/R/activate_material_side_nav_tab.R b/R/activate_material_side_nav_tab.R new file mode 100644 index 0000000..9cfdff4 --- /dev/null +++ b/R/activate_material_side_nav_tab.R @@ -0,0 +1,28 @@ +#' Update the active side nav tab from the code. +#' +#' Update the active side nav tab from the code. +#' @param side_nav_tab_id The side_nav_tab_id of the material_side_nav_tab_content to be shown. +#' @importFrom shinyjs runjs +#' @seealso \code{\link{material_side_nav_tab_content}} +#' @examples +#' \dontrun{ +#' activate_material_side_nav_tab( +#' input_id = "example_material_side_nav_tab_content", +#' ) +#' } +activate_material_side_nav_tab <- function(side_nav_tab_id) { + + js_code <- paste0( + "$('.shiny-material-side-nav-tab-content').hide();", + "$('.shiny-material-side-nav-tab-content').trigger('hide');", + "$('.shiny-material-side-nav-tab-content').trigger('hidden');", + "$('.shiny-material-side-nav-tab').removeClass('active');", + "$('#", side_nav_tab_id, "').show();", + "$('#", side_nav_tab_id, "').trigger('show');", + "$('#", side_nav_tab_id, "').trigger('shown');", + "$('#", side_nav_tab_id, "_tab_id').addClass('active');", + "$('#side_nav_tabs_click_info').trigger('click');" + ) + + shinyjs::runjs(js_code) +} diff --git a/man/activate_material_side_nav_tab.Rd b/man/activate_material_side_nav_tab.Rd new file mode 100644 index 0000000..73da2e6 --- /dev/null +++ b/man/activate_material_side_nav_tab.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/activate_material_side_nav_tab.R +\name{activate_material_side_nav_tab} +\alias{activate_material_side_nav_tab} +\title{Update the active side nav tab from the code.} +\usage{ +activate_material_side_nav_tab(side_nav_tab_id) +} +\arguments{ +\item{side_nav_tab_id}{The side_nav_tab_id of the material_side_nav_tab_content to be shown.} +} +\description{ +Update the active side nav tab from the code. +} +\examples{ +\dontrun{ +activate_material_side_nav_tab( + input_id = "example_material_side_nav_tab_content", +) +} +} +\seealso{ +\code{\link{material_side_nav_tab_content}} +}