Bootstrap 4 shinydashboard using AdminLTE3
OTHER License
Bot releases are hidden (Show)
NULL
. This allows them to inherit from the parent dashboardPage() dark parameter and have either a full light or full dark skin. Therefore, it won’t be possible anymore to apply a light sidebar background with the dashboardPage() when the main theme is dark and inversely. If you want to do so, you have to set dark = NULL, for instance:
library(shiny)
library(bs4Dash)
shinyApp(
ui = dashboardPage(
dark = NULL,
header = dashboardHeader(
title = dashboardBrand(
title = "My dashboard",
color = "primary",
href = "https://adminlte.io/themes/v3",
image = "https://adminlte.io/themes/v3/dist/img/AdminLTELogo.png"
)
),
sidebar = dashboardSidebar(skin = "dark"),
body = dashboardBody(
box(status = "danger"),
box(status = "primary"),
box(status = "orange")
),
controlbar = dashboardControlbar(skin = "dark"),
title = "DashboardPage"
),
server = function(input, output) { }
)
Published by DivadNojnarg over 1 year ago
New navbar navigation menu.
navbarTab()
, navbarMenu()
and updateNavbarTabs()
to create navbar navigation.dropdownHeader()
function to display Bootstrap 4 dropdown headers.dropdownDivider()
as it was invisible.tabItems()
has .list parameter to pass tabItem()
elements as list.tabBox()
. Increase padding for card with pills. Thanks @HugoGit39accordionItem()
with .list
parameter in accordion()
. Thanks @vladimirstroganov for reporting.menuItem
element) in the sidebar.help
parameter behavior in dashboardPage()
. If NULL, no icon is shown. If FALSE, icon and toggle are shown but not checked. If TRUE the toggle is checked.Published by DivadNojnarg almost 2 years ago
Happy Christmas break to everyone!
pagination()
and updatePagination()
. Bootstrap 4 implementation ofmenuItem()
applied wrong class to any nested element that is notmenuSubItem()
. Thanks @echoplaza for reporting.notificationItem()
href does not work.menuSubItems()
with apply() adds some extra text. Added .listmenuItem()
to programmatically pass menuSubItem()
as list.tabsetPanel()
renders below the list of tabPanels
when vertical = TRUE.fluidRow
. Thanks @lucas-alcantara for reporting.valueBox()
and infoBox()
in the render function section.data-toggle="tab"
when href
is not NULL in tabsetPanel()
. Thanks @veer0318 for reporting.tabsetPanel()
id's not properly generated when inserting tabs to non-empty tabset. Thanks @DarkSideOfTheMat for reporting and giving hints.Published by DivadNojnarg over 2 years ago
Published by DivadNojnarg almost 3 years ago
This release is a patch to fix an issue preventing the release of Shiny 1.7.0.
Internal change regarding the {waiter} package but no user impact. Thanks @JohnCoene.
Published by DivadNojnarg about 3 years ago
Patch to fix CRAN warning on Mac M1.
shiny:::processDeps
in favor of htmltools::renderTags
. Does notPublished by DivadNojnarg over 3 years ago
This is to align with shinydashboard and shinydashboardPlus.
navbar
param becomes header
.old_school
, sidebar_mini
, sidebar_collapsed
, controlbar_collapsed
,controlbar_overlay
, enable_preloader
, loading_duration
andloading_background
. These parameters move to dashboardSidebar, controlbar ...freshTheme
parameter to pass {fresh}
powered themes.options
parameter to configure AdminLTE3.preloader
to use {waiter}
as a preloading engine....
becomes left
.right_text
becomes right
.controlbarIcon
accepts shiny::icon
instead of the icon name.sidebarIcon
accepts shiny::icon
instead of the icon name.title
, titleWidth
and disable
src
becomes image
.collapsed
and overlay
.title
.inputId
to id
.inputId
becomes id
.updateControlbar
.session
is not mandatoryinputId
moved to the end.inputId
renamed to id
.collapsed
and minified
.width
.opacity
, title
, brandColor
, url
and src
.child_indent
becomes childIndent
..list
to pass programmatically generated bs4SidebarMenuItem
.href
and newTab
.icon
expects shiny::icon
.img
and text
become image
and name
, respectively.solidHeader
behavior.bs4Card()
. This is now part ofbs4CardSidebar()
.bs4Card()
. It is now part of the dropdownItemList()
.bs4Card()
. This is to reduce the number of parameters of cards.closable
is now FALSE for bs4Card()
.dropdownItemList
by cardDropdown
dropdownItemListItem
by cardDropdownItem
inputId
becomes id
.icon
expects shiny::icon
.solidHeader
behavior.status
becomes color
.icon
expects shiny::icon
.status
becomes color...
for subtitle
iconStatus
.href
and fill
.gradientColor
to gradient
.src
becomes image
.status
becomes color
.userBlock()
to pass on title.src
becomes image
.titleUrl
becomes href
.icon
expects shiny::icon
.tabBox()
from {shinydashboard}
badge
becomes badgeStatus
type
.shiny::icon
.labelText
by headerText
..list
and href
.align
.notificationItem()
and messageItem()
bs4Table()
API.bs4Stars()
: grade
and maxstar
, respectively become value
and grade
.listGroupItem()
, remove type
and put it in listGroup()
. src
becomes href
.status
becomes color
in blockQuote
.src
from carouselItem()
bs4Ribbon()
, status
becomes color
. Remove size
.bs4Badge()
, status
becomes color
.userMessage()
, src
becomes image
and side
becomes type
.timelineItemMedia()
, src
becomes image
.timelineItem()
, timelineStart()
and timelineEnd()
, icon
expects shiny::icon
.status
becomes color
in timelineItem()
, timelineLabel()
, timelineStart()
and timelineEnd()
.userPost()
and userPostMedia()
, src
becomes image
. Removed collapseStatus
.bs4Stars()
, status becomes color
.bs4ShowTab()
, bs4HideTab()
and bs4RemoveTab()
. shiny vanilla function should work well now.bs4TabPanel()
.bs4TabSetPanel()
becomes bs4TabsetPanel()
and is built on top of shiny::tabsetPanel
.cardProfile()
, add bordered
. src
becomes image
.cardProfileItemList()
.updatebs4TabSetPanel()
: selected takes the name of the tab instead of its index. This is more convenient (same as in shinydashboard)bs4InfoBox()
attachmentBlock()
title_url to titleUrl (to match with a new upcoming package...)descriptionBlock()
: number_color, number_icon, right_border and margin_bottom becomedescriptionBlock()
only need the name of the icon ('times') insteadbs4Jumbotron()
: btn_name becomes btnNameuserPost()
: collapse_status becomes collapseStatuseasyClose
param to boxSidebar()
to allow to close sidebar on outside-click. Thanks @predict42-patrick for the suggestion and JS code.gradient
parameter to valuebox()
.dashboardPage()
to automatically toggle all tooltips and popovers. Usebs4TooltipUI()
and bs4PopoverUI()
.useAutoColor()
leveraging new Shiny features and {thematic} to automaticallydashboardSidebar()
.dashboardPage()
.updateAccordion()
.actionButton()
is updated to provide Bootstrap 4 features.appButton()
.updateUserMessages()
.userList()
and userListItem()
.productList()
and productListItem()
.userDescription()
and userBlock()
.skinSelector
.dashboardUserItem()
, userOutput()
and renderUser()
.bs4DashBrand
for better dashboard titles.bs4ShowTab()
and bs4HideTab()
: thanks @fmmattioni for the reminder ;)bs4CardLayout()
: simplify the way to deal with bs4Card()
!bs4CloseAlert()
: programmatically close bs4Alert()
bs4Toast()
: include the builtin AdminLTE3 toasts!bs4SidebarMenuItem()
and bs4SidebarMenuSubItem()
at start.bs4DropdownMenuItem()
may act as an actionButtonbs4Card()
is maximized, the collapsible icon is hidden (does not make sense to have it)bs4CardLabel()
to add text labels in bs4Card()
bs4CardSidebar()
: access the status via input$id. Add updatebs4CardSidebar()
to toggle the card sidebarbs4PopoverServer()
, bs4PopoverUI()
, bs4TooltipUI()
and bs4TooltipServer()
bs4TabSetPanel()
: you may access the currently selected tab with input$idbs4TabSetPanel()
and bs4TabCard()
so as to selectbs4DashFooter()
bs4DashSidebar()
. Thanks @mppallantebs4DashNavbar()
. This is reintroduced by adminlte with a new css class namebs4ProgressBar()
bs4InfoBox()
to allow icon colorbs4Sortable()
is initialized each time a new sortable element is added. Fixes #198.taskItem()
.indicators
and .list
to carousel()
.insertTab()
is using more shiny vanilla elements.bs4UserMenu()
does not close when clicked inside.bs4SidebarMenu()
: to use old AdminLTE2 styling forbs4DashControlbar()
when it is opened will close it.bs4DashControlbar()
: allow to block the controlbar statebs4SidebarMenuItem
to align with shinydashboardbs4TabSetPanel()
by defaultbs4TabSetPanel()
bs4TabPanel()
param order to align with shinybs4Table()
API.hidden
type is not available for bs4Dash::tabsetPanel
that uses an old version of theshiny::tabsetPanel
. Thanks @zilch42.bs4Controlbar()
now collapse when clicked outside, clicking on an input triggering the updatebs4Controlbar()
would toggle it twice. Thanks @dwhdaisliderInput
z-index and bs4DashPage()
preloader. Thanks @analytichealth for the reportbs4DashSidebar()
url link. Thanks @pvictorbs4Alert()
bs4DropdownMenu()
examplebs4InsertTab()
bs4DashControlbar()
so thatrenderUI
works. Thanks @artemklevtsovupdatebs4TabSetPanel()
with renderUI
. Thanks @jyjekbs4SidebarMenuItem()
. See https://github.com/RinteRface/bs4Dash/issues/35. Thanks @aldomannPublished by DivadNojnarg over 3 years ago
updatebs4TabSetPanel()
: selected takes the name of the tab instead of its index. This is more convenient (same as in shinydashboard)bs4Card()
. This is now part ofbs4CardSidebar()
bs4Card()
. It is now part of the dropdownItemList()
bs4Card()
. This is to reduce the number of parameters of cardsbs4Card()
bs4InfoBox()
attachmentBlock()
title_url to titleUrl (to match with a new upcoming package...)descriptionBlock()
: number_color, number_icon, right_border and margin_bottom becomedescriptionBlock()
only need the name of the icon ('times') insteadbs4Jumbotron()
: btn_name becomes btnNameuserPost()
: collapse_status becomes collapseStatusbs4ShowTab()
and bs4HideTab()
: thanks @fmmattioni for the reminder ;)bs4CardLayout()
: simplify the way to deal with bs4Card()
!bs4CloseAlert()
: programmatically close bs4Alert()
bs4Toast()
: include the builtin AdminLTE3 toasts!bs4SidebarMenuItem()
and bs4SidebarMenuSubItem()
at start.bs4DropdownMenuItem()
may act as an actionButtonbs4Card()
is maximized, the collapsible icon is hidden (does not make sense to have it)bs4CardLabel()
to add text labels in bs4Card()
bs4CardSidebar()
: access the status via input$id. Add updatebs4CardSidebar()
to toggle the card sidebarbs4PopoverServer()
, bs4PopoverUI()
, bs4TooltipUI()
and bs4TooltipServer()
bs4TabSetPanel()
: you may access the currently selected tab with input$idbs4TabSetPanel()
and bs4TabCard()
so as to selectbs4DashFooter()
bs4DashSidebar()
. Thanks @mppallantebs4DashNavbar()
. This is reintroduced by adminlte with a new css class namebs4ProgressBar()
bs4InfoBox()
to allow icon colorbs4SidebarMenu()
: to use old AdminLTE2 styling forbs4DashControlbar()
when it is opened will close it.bs4DashControlbar()
: allow to block the controlbar statebs4SidebarMenuItem
to align with shinydashboardbs4TabSetPanel()
by defaultbs4TabSetPanel()
bs4TabPanel()
param order to align with shinybs4Controlbar()
now collapse when clicked outside, clicking on an input triggering the updatebs4Controlbar()
would toggle it twice. Thanks @dwhdaisliderInput
z-index and bs4DashPage()
preloader. Thanks @analytichealth for the reportbs4DashSidebar()
url link. Thanks @pvictorbs4Alert()
bs4DropdownMenu()
examplebs4InsertTab()
bs4DashControlbar()
so thatrenderUI
works. Thanks @artemklevtsovupdatebs4TabSetPanel()
with renderUI
. Thanks @jyjekbs4SidebarMenuItem()
. See https://github.com/RinteRface/bs4Dash/issues/35. Thanks @aldomannPublished by DivadNojnarg over 4 years ago
bs4DashNavbar()
since it does not exist in the newbs4DropdownMenuItem
: change text to message, date to time. Add new params: from, src, status and type.bs4DashSidebar()
input binding to indicate the state (collapse: FALSE, open: TRUE) as well asupdatebs4Sidebar()
to programmatically toggle its statebs4Controlbar()
input binding to indicate the state (collapse: FALSE, open: TRUE) as well asupdatebs4Controlbar()
to programmatically toggle its statebs4Card()
input binding to indicate the state (collapse: FALSE, open: TRUE, maximize, closed, ...) as well asupdatebs4Card()
to programmatically toggle its statebs4InsertTab()
to programmatically insert bs4TabPanel()
in bs4TabSetPanel()
bs4RemoveTab()
to programmatically remove bs4TabPanel()
in bs4TabSetPanel()
bs4DashPage()
has a new sidebar_mini parameter. When TRUE, the sidebar has a minimumbs4InfoBox()
can now navigate between tabs if the tabName parameter is specified. It must however correspondbs4TabItem()
in the body!bs4ValueBox()
has a footer argument. It is different from the href parameter. Thanks @stefanfritschbs4DashSidebar()
bs4DashNavbar()
to reduce the navbar sizegetAdminLTEColors()
to preview all available color themesbs4DashSidebar()
has a fixed layout. This prevent from not seeing sidebar itemsbs4DashPage()
has options to change the bs4Controlbar()
behavior when it expands (see controlbar_overlay)bs4SidebarMenu()
has 3 new parameters: flat (design effect), child_indent and compactbs4Card()
bs4UserMenu()
for bs4DashNavbar()
bs4Ribbon()
, a sort of enhanced label for cards or any contentbs4Quote()
, an improved blockquote tag for Bootstrap 4bs4Card()
. Thanks @analytichealthcolumn()
function from Shiny to make it work with Bootstrap 4. Thanks @federicomarinibs4DashNavbar()
background color issue.bs4DashBody()
so that when no element is in the sidebar and no tabItemsbs4Jumbotron()
, do not show a button. Thanks @davidlvbbs4ProgressBar()
: remove height and width parameters. Add size parameter. ThisPublished by DivadNojnarg over 4 years ago
bs4DashControlbarMenu()
, bs4DashControlbarItem()
and updatebs4ControlbarMenu()
updatebs4TabItems()
and updateTabItems()
to programatically update the selectedupdatebs4TabSetPanel()
and updateTabsetPanel()
(aliases) to dynamically update bs4TabSetPanel()
frombs4Card()
and bs4TabCard()
. In other words, allow full screen optionbs4SidebarMenu()
. Now by adding an id to the menu,bs4DashPage()
can also be dashboardPage()
bs4TabSetPanel()
bs4SidebarMenuSubItem()
bs4Table()
, bs4TableItems()
and bs4TableItem()
bs4SidebarMenuItem()
bs4SidebarMenuSubItem()
bs4DashSidebar()
and bs4DashControlbar()
. Thanks @jamiebonouserPost()
bs4SidebarMenuItem()
bs4TabSetPanel()
to the gallerybs4TabCard()
bs4InfoBox()
class. Thanks @henry090.bs4DashControlbar()
toggle if no bs4DashControlbar()
is given in bs4DashPage()
attachmentBlock()
image (and replace http by https)Published by DivadNojnarg over 4 years ago
bs4TabSetPanel()
and bs4TabCard()
. bs4TabSetPanel()
can now be used independently of bs4TabCard()
.bs4TabCard()
.bs4DashPage()
bs4TabCard()
. Buttons visible by default. PR by @statnmapbs4DashPage()
bs4Sortable()
and all necessary javascript dependenciesuserPost()
, userPostMedia()
, userPostTagItems()
and userPostTagItem()
userMessages()
and userMessage()
descriptionBlock()
, attachmentBlock()
and cardPad()
bs4SidebarUserPanel()
cardProfile()
, cardProfileItemList()
and cardProfileItem()
bs4SocialCard()
and cardComment()
userPost()
bs4Card()
to enable or disable overflowbs4Card()
footer when footer is NULLbs4Accordion()
: click on 1 item collapse all other items in the same accordionbs4DashPage()
bs4TabCard()
. Thanks @stephLHbs4DashControlbar()
. Thanks @stephLHbs4TabCard()
max-height attribute. Thanks @stephLHbs4DropdownMenu()
, add id arg to bs4DashControlbar()
PR by @bjornlindbs4TabCard()
. PR by @statnmapbs4Card()
starts on a collapsed state, the content is displayed whenbs4Card()
: the collapse icon changes to + and - depending on the current collapse status.bs4DropdownMenu()
bs4TabPanel()
: handle tabName with space and with punctuation characters. Thanks @stephLHbs4TabCard()
: when the user set 2 or more active tabs at the same time, onlybs4TabCard()
, as they have the same class (tab-pane).Published by DivadNojnarg over 4 years ago
bs4Card()
bs4ValueBox()
footer is not shown when the external link is NULLbs4ValueBox()
external link opens in a new pagebs4DashPage()
to control the sidebar opening at startbs4DashGallery()
. Add a "theme" argumentionicon()
(implementation of ionicons)bs4DashNavbar()
(#7, thanks @theRcast)Published by DivadNojnarg over 4 years ago