- Added webR to pkgdown infrastructure which allows to run shinylive apps in the documentation.
- Add
limit
tof7AutoComplete()
. Thanks @bthieurmel.
- Fix ignored height in
f7Card()
(Typo). - Fix CRAN note.
- Added
skeletonsOnLoad
tof7Page()
options (not compatible) withpreloader
.
preloader
is moved tof7Page()
options list.- Removed
loading_duration
fromf7Page()
. Now the preloader will automatically disappear when shiny is idle like in{bs4Dash}
. - panels becomes panel in
f7SplitLayout()
for consistency reasons. f7Tab()
usesvalidate_tabName
so thatTab 1
is not valid anymore butTab1
yes. Tabs will have to be manually renamed.f7Popup()
is now generated on the server side likef7Notif()
. RemoveupdateF7Popup()
,f7TogglePopup()
.- Reworked
f7listIndex()
: removef7ListIndexItem()
.f7ListIndex()
is generated from the server side. - Reworked
f7Skeleton()
: triggered from server side. See examples.
- Improve
f7Swiper()
: better CSS, pagination, navigation, scrollbar, ... - Fix issue in
f7PhotoBrowser()
example: wrong default theme ... f7CheckBox()
: better layout.- Fix issue in
f7FabMorphTarget()
example. - Fix #226:
f7PhotoBrowser()
just works with two or more pictures. Fix issue in JSON conversion. - Fix issue in
updateF7Popup()
documentation (showed as deprecated by mistake). - New skeleton effect on load (automatic): applied grey background on elements loading. Ends when shiny is idle.
- New skeleton effect on output recalculation.
- Fix issue in
f7Navbar()
: hard-coded css style causing white text on white background. - Fix #151: Issue in navbar/toolbar scroll. See here.
- Fix #165: Setting separate theme for panels does not work.
- Fix #181: Adding dynamic tab to an empty panel.
- Related to #220. A new title parameter is available for
f7Tab()
so as to pass any name, as oposed to tabName. - Fix #228: Vignette Example doesn't show graphs. Breaking change in shiny 1.7.2.
- Issue in
f7SmartSelect()
with openIn param (failed when not provided). - Fix #219: Avoid using inline CSS so that users can easily override {shinyMobile} defaults.
- Fix #220:
f7Tab()
can create duplicate IDs which in turn break the page. Now we usevalidate_tabName
internally to check whether the tab is valid (avoid JS issues with jQuery selectors)... - Fix #224:
updateF7AutoComplete()
accepts choices. - Fixes #217:
f7SmartSelect()
interfering NS for server-side module. - Fixes #215: Icon not displayed in reconnect / reload toaster. Add f7Icon deps anyway.
- Fixes #204: issue with
f7DatePicker()
and DST. - Update CI/CD setup.
- Fix issue where
f7Page()
does not accept anymore color by its name. Now, and like in earlier versions,f7Page()
accepts either hex code or color name. - Fixes #222:
f7Slider()
code updated to work with the fix for #215 above.
This release only fixes an issue with Shiny 1.7.0 with a failing unit test. Thanks @schloerke
This release also fixes an issue with R CMD check and htmltools.
f7Link()
icon now expectsf7Icon()
. label is not mandatory anymore.
- New
updateF7Radio()
. Fixes #135. Thanks @korterling.
- More security for embedded apps.
- Added shinyMobile hands on slides in Getting Started vignette.
f7Dialog()
has a fixed height of 300px and vertical overflow to avoid issues.- Add
...
tof7SmartSelect()
. - Add
options
tof7SearchBar()
to provide more configuration. Fixes #47: thanks @rodrigoheck. - Add
valueText
param forf7Gauge()
. Fixes #84: thanks @tanho63. - Reworked
f7Gauge()
JS code (no user impact). - Rework widget JS code base (no user impact).
- Fix #180: Tab highlight index issue for android devices when tab remove or add tab.
- Fix #190: How to add a longer dialog text for f7Dialog.
- Fix #154: How to include link icon in f7Link() function.
- Fix #127: Enable groups in
f7SmartSelect()
. - Fix #174 and #134: Reactive elements created inside
insertF7Tab()
are losing reactivity. - Fix #98:
f7DatePicker()
visibility issue. Thanks @styvens. - Fix #120:
f7Button()
with link not working. Thanks @bwganblack. - Fix #144: Close
f7SmartSelect()
on selection. Thanks @dewalex.
This release is to addresses the following reverse dependency issue with shiny. Moreover, it also starts the road to v1.0.0 (later this year).
f7AddMessages()
will becomeupdateF7Messages()
in future releasef7HideNavbar()
andf7ShowNavbar()
will be replaced byupdateF7Navbar()
f7ShowPopup()
will becomeupdateF7Popup()
f7checkBox()
will becomef7Checkbox()
f7checkBoxGroup()
will becomef7CheckboxGroup()
f7ValidateInput()
will becomevalidateF7Input()
f7InsertTab()
andf7RemoveTab()
will becomesinsertF7Tab()
andremoveF7Tab()
, respectivelyf7ShowPreloader()
andf7HidePreloader()
will becomeshowF7Preloader()
andhideF7Preloader()
, respectively.f7Popover()
andf7PopoverTarget()
replaced byaddF7Popover()
andtoggleF7Popover()
create_manifest()
is going to be replaced by the workflow described here: https://unleash-shiny.rinterface.com/mobile-pwa.html#charpente-and-pwa-tools
updateF7Fabs()
: inputId becomes id
f7Appbar()
: left_panel becomes leftPanel and right_panel rightPanelf7Init()
removed. Now pass it through thef7Page()
optionsf7Navbar()
: left_panel becomes leftPanel and right_panel rightPanelf7Panel()
andupdateF7Panel()
: inputId becomes idf7InsertTab()
andf7RemoveTab()
: inputId becomes id
f7ExpandableCard()
andf7Card()
: img becomes imagef7SocialCard()
: author_img becomes image
f7ListItem()
: url becomes hreff7VirtualListItem()
: url becomes hrefupdateF7VirtualList()
: old_index and new_index become oldIndex and newIndex, respectively
- session not mandatory in
f7Toast()
,updateF7Progress()
, ... and has been swapped at the end of the parameters for more convenience f7Dialog()
: inputId becomes idupdateF7Sheet()
: inputId becomes id
f7Link()
: external has been removed from (much simpler), src becomes hreff7Button()
: src becomes href
- session swapped to the end in
f7Gauge()
and not mandatory. Default toshiny::getDefaultReactiveDomain()
f7Chip()
: icon_status becomes iconStatus, img becomes image- inputId becomes id in
f7Accordion()
andupdateF7Accordion()
- Remove
f7ProgressInf()
(useless) - Change
f7Swiper()
API. New options parameter f7PhotoBrowser()
is now called from the shiny server function. See help, id and label have been removed- id mandatory for
f7Searchbar()
- New
updateF7Entity()
- New
updateF7ActionSheet()
- New
addF7Tooltip()
andupdateF7Tooltip()
to generate tooltips from the server - New allowPWA parameter in
f7Page()
so that we doesn't oblige users to create a PWA f7Page()
has a new options parameter as replacement off7Init()
. Much simpler to handle- update framework7 from 5.5.0 to 5.7.14
- add
f7Menu()
,f7MenuItem()
,f7MenuDropdown()
,f7MenuDropdownDivider()
andupdateF7MenuDropdown()
: special buttons and dropdown elements, behaving like action buttons
- app instance accessible from anywhere is JS code
- New ... parameter for
f7PhotoBrowser()
- Add choices to
updateF7SmartSelect()
: thanks @Edireito - Add disconnect toast if
shiny:disconnect
occurs. Gives ability to reload or reconnect
- Fix #128 and #140: workerId issue in url. Thanks @Tixierae and @ppagnone.
- Fix #104: f7Picker cannot have NULL value. Prevents JS from breaking. Thanks @Seyphaton
- Correcting an internal use of
htmltools::attachDependencies()
increate_app_ui
- disable backdrop in
f7Searchbar()
since it messes up with tabbar navigation. This does not have any impact on user experience. In a future release of shinyMobile,f7Searchbar()
will have input binding associated as well as more parameters for configuration
f7SmartSelect()
: type param becomes openIn to align with other inputs- rework
f7Messages()
: messages are updated on the server side withf7AddMessages()
. Newf7MessageBar()
to send messages from the server side. f7ActionSheet()
: to access the currently selected button, use input$[sheet_id]_button. This is to make action sheets compatible with shiny modules. Moreover, the buttons provided must be included in a list (not in a dataframe)f7Sheet()
is still inserted in the UI side but can be triggered either on the server side in combination withupdateF7Sheet()
(see example) or on the UI side. Overall, this improves flexibility since user may choose any trigger element. In practice, any element havingdata-sheet
pointing to the sheet id as well as the "sheet-open" css class may open it, instead of having a default trigger contained in the sheet. A use case may be to open a sheet in the tabbar (the trigger would be af7TabLink()
that is a special button styled for the tabbar)- All update method for inputs : argument
session
is now optional and has been moved to the last position in function call f7AutoComplete()
: type becomes openIn to align with the framework7 documentation- remove parameter fill from
f7Icon()
(not used) - Rewrite
f7Popup()
. It has now an input associated giving the popup state (opened or closed) as well as new parameters: backdrop, closeByBackdropClick, closeOnEscape, animate and swipeToClose. label parameters has been removed. To create anf7Popup()
put thef7Popup()
tag in you UI. On the server side callf7TogglePopup()
. See documentation for a detailed example. Thanks @pasahe f7NavbarHide()
renamed tof7HideNavbar()
for consistancyf7NavbarShow()
renamed tof7ShowNavbar()
for consistancy- In
f7Gauge()
valueText was removed. It does not make sense that the value can be accidentally different from the text displayed. valueText is then an internal parameter. - In
f7DatePicker()
: min becomes minDate, max becomes maxDate and format becomes dateFormat - remove maximizable parameter from
f7Appbar()
- new
input$shinyInfo
andinput$lastInputChanged
(see shinyMobile tools vignette for more details) f7SmartSelect()
has input binding as well as an update functionupdateF7SmartSelect()
- new
f7VirtualList()
,f7VirtualListItem()
,updateF7VirtualList()
: high performance list with caching system -> faster rendering (up to 10x faster thanf7List()
). Ability to add item(s), remove item(s), move item, filter items, ... - new messagebar parameter to
f7TabLayout()
. This allows to use thef7Messagebar()
in a tabs layout configuration. - new
f7ValidateInput()
function to validate input from the server side (similar to shinyFeedback but internal to shinyMobile and without dependencies) - new
f7Login()
andupdateF7Login()
feature to provide UI boilerplates for authentication f7Tabs()
may be used as standalone components with the style argument (segmented or strong). toolbar has the default behavior.- update
f7Icon()
and icons dependencies. thanks @pvictor - new
updateF7DatePicker()
: thanks @pvictor - add input binding to
f7Fabs()
to get the status of the container - add
updateF7Button()
andupdateF7Fabs()
- new pullToRefresh parameter to
f7Init()
. Pull the screen from top to bottom firesinput$ptr
which becomes TRUE. When the pull to refresh event is finished,input$ptr
is NULL. Useful to trigger events in an observeEvent - add new
updateF7Select()
: thanks @Seyphaton for the suggestion - add
f7TogglePopup()
to close/open af7Popup()
. Thanks @pasahe - add
preview_mobile()
: function that previews your app in a seleted range of devices (iphone, samsung, htc, ...) - redesign the way inputs options are passed from R to Javascript. This does not have impact on the user side but improves security and code quality
- add new
f7File()
for file upload. See shinyfileInput
- add new
f7DownloadButton()
to work properly with the shinydownloadHandler
function. Thanks @bwganblack for the report - add new tapHoldDelay parameter to
f7Init()
to control the delay necessary to trigger a long press (default to 750 ms) - new
f7ShowPreloader()
andf7HidePreloader()
- new
f7TextArea()
input andupdateF7TextArea()
on the server side - add block title for
f7checkBoxGroup()
andf7Radio()
- add new
f7TabLink()
(special link to insert inf7Tabs()
that may open af7Sheet()
) - add new active parameter to
f7Button()
- add new strong parameter to
f7Segment()
- Improve website. Thanks @pvictor
- new fullsize and closeButton parameter to
f7Popup()
+ rewrite js binding. Thanks @pvictor - add extra parameters to
f7DatePicker()
: direction, openIn, scrollToInput, closeByOutsideClick, toolbar, toolbarCloseText, header and headerPlaceholder - add new parameters to
updateF7Gauge()
. Thanks @rodrigoheck for the suggestion - add noSwipping argument to
f7Slider()
to prevent wrong behaviour when used inf7TabLayout()
f7Select()
does not rely anymore on the shiny selectInput binding (does not have impact on user experience)- add hidden argument to
f7Tab()
: allows to navigate through hidden tabs without displaying them in the tab menu. Thanks @rodrigoheck - add closeOnSelect param to
f7AutoComplete()
- add new parameters to
f7Picker()
andupdateF7Picker()
: rotateEffect, openIn, scrollToInput, closeByOutsideClick, toolbar, toolbarCloseText and sheetSwipeToClose - add color argument to
f7Icon()
- add selected parameter to
f7Select()
- update framework7 to 5.3.0
- add color to
updateF7Slider()
- add color to
f7Slider()
- add cheatsheet reference in the readme
- add
f7Slider()
labels (remove enableLabels param) - add step, scaleSteps and scaleSubSteps to
updateF7Slider()
- add scaleSteps, scaleSubSteps and verticalReversed to
f7Slider()
- add decimalPoint to
updateF7Stepper()
- rework
f7Stepper()
: add 2 more parameters (decimalPoint and buttonsEndInputMode) - hideNavOnPageScroll is set to FALSE by default in
f7Init()
. This improves perfomances on old devices - improve
f7SingleLayout()
example (replace sliderInput by f7Slider) - improve
f7SplitLayout()
example (replace sliderInput by f7Slider) - improve
f7TabLayout()
example - add more copyrights
- Fix issue in
updateF7AutoComplete
: text input was not updated. Thanks @sanchez5674 for the report - Remove duplicated html tag in
f7Page()
. Thanks @ pvictor - Fix issue in
f7Sheet()
wrong css style applied when multiple sheets are in the same app - Fix issue in
f7Tabs()
: if one putf7Tabs()
inside af7Tab()
in a parentf7Tabs()
, the input binding was giving the wrong tab for the top level tabset (once we clicked in the tab containing the sub-tabset). - Fix issue with
f7InsertTab()
andf7RemoveTab()
when swipeable is TRUE - trigger shown event for
f7Tabs()
on click. This allows to usef7Tabs()
without swipeable and animated - Allow output elements to be displayed in
f7Panel()
(need to provide thef7Panel()
inputId) - Prevent
f7Swipeout()
to make the current tab swipping if inf7TabLayout()
- Fix
f7Fab()
label white background color in dark mode - fix #19: letting bigger TRUE in
f7Navbar()
would center the body content on scroll, due to a css conflict - fix issue with
f7Slider()
andf7TabLayout()
: When setting value of a slider in a swipeable f7TabLayout it cause the tab to be swip. This describe here : framework7io/framework7#2603. Thanks @pvictor - fix #39: issue in
f7DatePicker()
format for months. Thanks @kmaheshkulkarni - fix issue in
f7DatePicker()
: the viewport does not scroll to input by default - fix typo in
f7AutoComplete()
example - fix #43: slider label not visible on drag. Thanks @pasahe
- fix #42: add vertical overflow to
f7Popup()
. Thanks @pasahe - fix #41: cannot render shiny outputs in
f7Popup()
. Nowf7Popup()
triggers shiny output rendering. Thanks @pasahe - fix #31:
updateF7Gauge()
-> wrong fraction for semi circle gauges. - fix
f7Stepper()
: some options were not properly initialized (max, min, ...) - fix
f7Slider()
example 2: wrong argument in help - fix
f7Icon()
example: wrong function name - fix
f7Row()
example f7Sheet()
: hiddenItems is NULL by default- Do no apply a magin bottom to the toolbar if there is no
f7Appbar()
- Added a
NEWS.md
file to track changes to the package.