dashboardHeader()
. Thanks @zhanxw.This release is a patch to fix an issue preventing the release of Shiny 1.7.0. Thanks @wch.
{waiter}
package but no
user impact. Thanks @JohnCoene.This release is a patch without major changes.
dashboardPage()
shiny::navlistPanel()
in
dashboardControlbar()
not behaving as expected.userBox()
is not working. Introduced in
2.0.0.This release is a major step for shinydashboardPlus. It is also a significant breaking change compared to the latest CRAN version. Overall this release will simplify the transition from shinydashboard to shinydashboardPlus and bring more consistency, more interactivity between components. Below is the changelog.
starBlock()
to max
and
value
.boxPlus()
to align
with {bs4Dash}
boxPlus()
.
This is now part of the new boxPlusSidebar()
boxPlus()
.
It is now part of the dropdownItemList()
boxPlus()
. This is to
reduce the number of parameters of cards. Now part of
boxPlusLabel()
dropdownItemList()
icon must be provided as
shiny::icon()
and not a simple string containing the icon
name. This is to be consistent with {shinydashboard}dashboardFooter()
dashboardPagePlus()
. They now belong to
dashboardSidebarPlus()
to Align with {shinydashboard}dashboardSidebarPlus()
: replace
rightSidebar by controlbar (align with {bs4Dash}).
Rename enable_preloader to preloader and
loading_duration to durationrightSidebar()
to
dashboardControlbar()
to align with {bs4Dash}dashboardHeaderPlus()
. This is now part of
dashboardControlbar()
as disable like in
{shinydashboard}. rightSidebarIcon becomes
controlbarIcon that accepts shiny::icon
instead of
a simple string containing the icon name to be consistent with
{shinydashboard}. left_menu becomes leftUi like in
{bs4Dash}rightSiderbarMenu()
,
rightSidebarTablist()
, rightSidebarTabItem()
,
rightSidebarPanel()
and
rightSidebarTabContent()
. They are now replaces by
dashboardControlbar()
, controlbarMenu()
and
controlbarItem()
rightSidebarMenuItem()
, menuIcon()
and menuInfo()
boxPlus()
to box()
,
dashboardPagePlus()
to dashboardPage()
and
dashboardHeaderPlus()
to
dashboardHeader()
dropdownBlock()
icon expects a
shiny::icon()
and not a simple string containing the icon
name. This is to be consistent with {shinydashboard}gradientBox()
icon expects a
shiny::icon()
and not a simple string containing the icon
name. This is to be consistent with {shinydashboard}descriptionBlock()
icon expects a
shiny::icon()
and not a simple string containing the icon
name. This is to be consistent with {shinydashboard}navPillsItem()
: pillName becomes
left, pillText becomes right,
pillColor becomes color, pillIcon becomes
icon and expects a shiny::icon()
. Add
inputId so that the item behaves like an action buttonproductListItem()
: productTitle becomes
title, productPrice becomes subtitle,
priceColor becomes colortimelineItem()
, timelineStart()
and
timelineEnd()
, icon expects a
shiny::icon()
and not a simple string containing the icon
name. This is to be consistent with {shinydashboard}userListItem()
, user_name becomes
title, description becomes subtitledropdownItemList()
becomes boxDropdown()
.
dropdownItem()
becomes boxDropdownItem()
userPostToolItemList()
becomes
userPostTagItems()
. userPostToolItem()
becomes
userPostTagItem()
boxProfileItemList()
. boxProfile()
gets a new parameter bordered, inherited from the old
boxProfileItemList()
boxProfile()
, title becomes mandatoryboxProfileItem()
boxComment()
: src and title are
mandatorywidgetUserBox()
becomes userBox()
for more
naming consistencygradientBox()
for consistency with
{bs4Dash}box()
userBox()
. Remove
background. Replace backgroundUrl by
backgroundImage. Reworked type parameteraccordion()
id. We should distinguish between
TRUE inputs (sliderInput) and secondary inputs (that you can use for
interactivity)…accordionItem()
. This is to be consistent with AdminLTE2
classes and {shinydashboard}attachmentBlock()
: src becomes
image and titleUrl becomes href.
image is mandatorysocialButton()
: url becomes href
and type becomes icon (expect
shiny::icon
)productListItem()
: src becomes
image to be consistent with {shinydashboard}timelineItemMedia()
: src becomes
image to be consistent with {shinydashboard}userListItem()
: src becomes image
to be consistent with {shinydashboard}userPost()
: src becomes image to
be consistent with {shinydashboard}. image and author
are mandatoryuserPostMedia()
: src becomes image
to be consistent with {shinydashboard}. image is mandatoryverticalProgress()
to
progressBar()
userMessage()
: src becomes image
to be consistent with {shinydashboard}. side becomes
type (semantic)dashboardUser()
: src becomes image
to be consistent with {shinydashboard}userBox()
: src becomes image to be
consistent with {shinydashboard}socialBox()
: src becomes image to
be consistent with {shinydashboard}boxComment()
: src becomes image to
be consistent with {shinydashboard}boxProfile()
: src becomes image to
be consistent with {shinydashboard}boxDropdownItem()
: url becomes
href to be consistent with {shinydashboard}. name is
removednavPillsItem()
: active becomes
selectedupdateUserMessages()
functionupdateAccordion()
to toggle
accordion()
on the client{waiter}
for custom preloaderstaskItem()
,
notificationItem()
and messageItem()
boxDropdownItem()
,
that behaves like an action button if passedupdateNavPills()
to programmatically change the
selected item in navPills()
dashboardPage()
.
This allows to use the awsesome {fresh}
package. See here
for more details.skinSelector()
to allow dynamically change the
dashboard skin on the client side.updateControlbarMenu()
to programmatically change
the selected controlbar itemdashboardControlbar()
to be able to
use updateControlbar()
dashboardSidebar()
to be able to use
updateSidebar()
dashboardSidebar()
(reworked shinydashboard
sidebar)boxLabel()
to add text labels in
box()
boxSidebar()
: access the status via input$id. Add
updateBoxSidebar()
to toggle the box sidebaroptions
parameter to dashboardPage()
.
See here
for the list of available optionsbox()
with updateBox()
(see #10 and
#69, @happyshows
and @daatali)box()
accordion()
(default to 12)collapsed = FALSE
not working for
dashboardControlbar.input$sidebarCollapsed
.box()
…accordionItem()
(Setting
title to NULL would prevent the item to be able to collapse …)accordion()
id becomes inputId.
accordionItem()
id parameter is removedappButton()
: this is a classic shiny
actionButton, with improved styling.attachmentBlock()
change number_color, number_icon, margin_bottom and rightBorder to
camelcase params in descriptionBlock()
descriptionBlock()
only need the name of
the icon (‘times’) instead of the full class (like fa fa-times) ## New
featuresuserMessages()
and userMessage()
dashboardBadge()
: use in elements like
appButton()
. This is different from
dashboardLabel()
widgetUserBox()
. Thanks
@terpsruleboxPlus()
. Thanks
@jmw86069 for the
suggestionaccordion()
id. Thanks @RegaCaskaflipBox()
. Thanks @vinpogowidgetUserBox()
. Prevent from ugly renderingcarousel()
item is displayed
when it is generated via a shiny Output function. Thanks @daattali for the
reportsetShadow()
,
setPulse()
, setShake()
and
setZoom()
, since they are contained in shinyEffectsboxPlus()
headers: navy, teal,
orange, maroon, black and purplerightSidebar()
: useful if we
do not want to embed elements in tabs.dashboardFooter()
dashboardUser()
, dashboardUserItem()
,
renderUser()
and userOutput()
carousel()
and carouselItem()
dashboardHeaderPlus()
title was
NULLflipBox()
boxPlus()
function: set up with the
following arguments “enable_sidebar”, “sidebar_content”,
“sidebar_width”, “sidebar_background” and “sidebar_start_open”dashboardHeaderPlus()
to include elements in the left part of the navbar. (In addition to what
you can already do in the right part with shinydashboard)dropdownBlock()
to include shiny input elements in
a navbar left menu (optimized for all screen sizes)dashboardHeaderPlus()
). If TRUE, the navbar is fixed-top.
(static-top by default)setZoom()
function (similar as
setShadow()
)setPulse()
functionsetShake()
functiondashboardPagePlus()
(custom preloader)shinydashboardPlusGallery()
dashboardLabel()
userPost()
to show or hide
comments when the application starts. ## Bug fixesappButton()
open a new window when clickedsocialButton()
open a new window when clickedsocialBox()
socialBox()
socialBox()
in case there
are more than 2 comments (avoid “infinite” height boxes)timelineItem()
footer when NULLuserPostMedia()
dropdownBlock()
icon not displaying)rightSidebar()
. When the
function was called without any element, it triggered an error because
the number of items was 0starBlock()
, navPillsItem()
and the socialBlock()
title does not reload or redirect at
the top of the pageattachmentBlock()
link open a new page
in a new tab (target = “_blank”)dropdownItem()
(boxPlus()
): “target” is replaced by “url”.rightSidebar()
function: remove
rightSidebarTabList()
, rightSidebarTabItem()
and rightSidebarPanel()
from the user interface. See here
to discover how to set up a new rightSidebar()
## Major
changesrightSidebar()
(set to
230 pixels by default) to improve customization.setShadow()
to set shadow and hover
effects on any elementsrightSidebarTabContent()
:
see #4dashboardPagePlus()
verticalProgress()
bars!rightSidebar()
:
rightSidebarMenu()
, rightSidebarMenuItem()
,
menuIcon()
and menuInfo()
(see
shinydashboardPlusGallery()
)boxPlus()
: add
dropdownItemList()
, dropdownItem()
and
dropdownDivider()
functions (see
shinydashboardPlusGallery()
)timelineItemMedia()
and userPostMedia()
timeLineBlock()
either inside or outside
a boxuserPostToolItemList()
,
userPostToolItem()
, userPostMedia()
,
userPostToolItem()
boxProfileItemList()
,
boxProfileItem()
shinydashboardPlusGallery()
shinydashboardPlusGallery()
rightSidebar()
boxPlus()
gradientBox()
, widgetUserBox()
,
socialBox()
boxPad()
,
attachmentBlock()
, descriptionBlock()
,
productList()
, navPills()
,
todoList()
, userList()
,
boxComment()
appButton()
and
socialButton()
(NOTE: these are not inputButtons!)starBlock()
,
loadingState()
, blockQuote()
,
dashboardLabel()
dashboardHeaderPlus()
,
dashboardPagePlus()