Skip to content

Commit

Permalink
Add shiny_list_to_li and shiny_static_navbar
Browse files Browse the repository at this point in the history
  • Loading branch information
zero323 committed Apr 17, 2015
1 parent 3e9c005 commit 504abbc
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 5 deletions.
62 changes: 57 additions & 5 deletions R/shiny_utils.R
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ list_to_defs <- function(params) {
names(params) <- stringi::stri_trans_totitle(stringi::stri_replace_all_fixed(names(params), '_', ' '))
shiny::tags$dl(lapply(
names(params),
function(x) {
shiny::span(shiny::tags$dt(x), shiny::tags$dd(params[[x]]))
}
)
function(x) {
shiny::span(shiny::tags$dt(x), shiny::tags$dd(params[[x]]))
}
)
)
}

Expand Down Expand Up @@ -48,4 +48,56 @@ shiny_error_handler <- function(values) {
values$last_error <- e
logging::logerror(e$message)
}
}
}


#' Take list with name and href element and return
#' <li><a href='href'>name</a></li>
#'
#' @param navbar_tab list
#' @param this_href character
#' @return shiny::tags$li
#'
shiny_list_to_li <- function(navbar_tab, this_href) {
stopifnot(length(navbar_tab) == 2)

anchor <- shiny::a(navbar_tab$name, href=navbar_tab$href)

if(identical(this_href, navbar_tab$href)) {
shiny::tags$li(class='active', anchor)
} else {
shiny::tags$li(anchor)
}
}


#' Create "static" boostrap navbar
#'
#' @param navbar_brand character page brand
#' @param navbar_tabs list of lists each containing name and href
#' @param this_href character current url
#' @return shiny::tags$nav
#'
shiny_static_navbar <- function(navbar_brand, navbar_tabs, this_href='/') {
shiny::tags$nav(
class='navbar navbar-default navbar-static-top',
role='navigation',
shiny::div(
class='container',
shiny::div(
class='navbar-header',
shiny::span(
class='navbar-brand',
navbar_brand
)
),
shiny::tags$ul(
class='nav navbar-nav',
lapply(navbar_tabs, shiny_list_to_li, this_href)
)
)
)
}



22 changes: 22 additions & 0 deletions man/shiny_list_to_li.Rd
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
% Generated by roxygen2 (4.1.0): do not edit by hand
% Please edit documentation in R/shiny_utils.R
\name{shiny_list_to_li}
\alias{shiny_list_to_li}
\title{Take list with name and href element and return
<li><a href='href'>name</a></li>}
\usage{
shiny_list_to_li(navbar_tab, this_href)
}
\arguments{
\item{navbar_tab}{list}

\item{this_href}{character}
}
\value{
shiny::tags$li
}
\description{
Take list with name and href element and return
<li><a href='href'>name</a></li>
}

22 changes: 22 additions & 0 deletions man/shiny_static_navbar.Rd
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
% Generated by roxygen2 (4.1.0): do not edit by hand
% Please edit documentation in R/shiny_utils.R
\name{shiny_static_navbar}
\alias{shiny_static_navbar}
\title{Create "static" boostrap navbar}
\usage{
shiny_static_navbar(navbar_brand, navbar_tabs, this_href = "/")
}
\arguments{
\item{navbar_brand}{character page brand}

\item{navbar_tabs}{list of lists each containing name and href}

\item{this_href}{character current url}
}
\value{
shiny::tags$nav
}
\description{
Create "static" boostrap navbar
}

0 comments on commit 504abbc

Please sign in to comment.