# shinyMobile 0.8.0 Unreleased

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).

## Breaking changes

### Buttons

• f7Link(): external has been removed from (much simpler), src becomes href
• f7Button(): src becomes href

## Minor changes

• 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

# shinyMobile 0.7.0 2020-06-17

## Notes

• 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

## Breaking changes

• f7SmartSelect(): type param becomes openIn to align with other inputs
• rework f7Messages(): messages are updated on the server side with f7AddMessages(). New f7MessageBar() 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 with updateF7Sheet() (see example) or on the UI side. Overall, this improves flexibility since user may choose any trigger element. In practice, any element having data-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 a f7TabLink() 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 an f7Popup() put the f7Popup() tag in you UI. On the server side call f7TogglePopup(). See documentation for a detailed example. Thanks @pasahe • f7NavbarHide() renamed to f7HideNavbar() for consistancy • f7NavbarShow() renamed to f7ShowNavbar() 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() ## Major changes • new inputshinyInfo and input$lastInputChanged (see shinyMobile tools vignette for more details) • f7SmartSelect() has input binding as well as an update function updateF7SmartSelect() • new f7VirtualList(), f7VirtualListItem(), updateF7VirtualList(): high performance list with caching system -> faster rendering (up to 10x faster than f7List()). Ability to add item(s), remove item(s), move item, filter items, … • new messagebar parameter to f7TabLayout(). This allows to use the f7Messagebar() 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() and updateF7Login() 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() and updateF7Fabs() • new pullToRefresh parameter to f7Init(). Pull the screen from top to bottom fires input$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 a f7Popup(). 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

# shinyMobile 0.1.0 2019-11-30

• Added a NEWS.md file to track changes to the package.