Cross platform UI controls for progressive web and hybrid apps (plain JS, jQuery, Angular and React)
General
Fixed: On iPhone, when showing a toast or snackbar right after closing a modal popup caused the page content to scroll back to the top.
Fixed: French translation for Sunday was incorrect (only in form inputs) (#460).
Fixed: The styling of Angular components was wrong after changing theme dynamically.
Fixed: Angularjs model was not set when the keyboard was used to type the value.
Fixed: Added missing i18n
property to the type defintions, which enables adding custom language modules.
Fixed: Exported component interfaces to enable the usage of react useRef
hooks.
Fixed: Type definition improvements.
Calendar
Fixed: Using keyboard navigation left and right arrows worked in the reverse direction in RTL mode.
Fixed: We fixed a bug where IE11 threw an exception on day selection if the calendar view was refreshed.
Cards
Datetime
Eventcalendar
Fixed: onEventSelect
event argument returned wrong event on calendar label tap, if both labels and event list was used.
Fixed: Using keyboard navigation left and right arrows worked in the reverse direction in RTL mode.
Fixed: We fixed a bug where IE11 threw an exception on day selection if the calendar view was refreshed.
Fixed: In Ionic 1 the onEventSelect
was not fired if an event was clicked inside the popover.
Listview
onItemTap
event was fired on the touchend event on touch devices, as a consequence, the click event firing afterwards was causing problems in certain use cases, for example immediately closing a popup opened from the onItemTap
event handler.Range
Fixed: Using keyboard navigation left and right arrows worked in the reverse direction in RTL mode.
Fixed: We fixed a bug where IE11 threw an exception on day selection if the calendar view was refreshed.
Select
Fixed: When the Select was opened on iPhone, the content was scrolling and flickering, but only if the select element was wrapped inside a label, and the page content was scrollable.
Fixed: Added missing filterPlaceholderText
and filterEmptyText
settings to type definitions.
Timer
Timespan
Cards
Eventcalendar
New: You can now finally use the marked setting along with colored days, they are not mutually exclusive anymore.
New: We are rolling out fixed calendar views with scrollable event listing. No more scrolling the whole page and messy workarounds (#452).
New: We added support for the pop-over event listing across week and month views. With this we also refactored the code making the file-size a little bit smaller.
New: You can now use the formatDuration
function to change the text that is used for the event duration.
Fixed: We fixed a bug that was showing incorrect event duration for all-day events.
Fixed: We fixed a bug that occurred with multiple labels loaded dynamically.
Fixed: Links inside event texts weren’t triggered, we fixed that.
Forms
Fixed: We fixed the snackbar control that blocked mouse interactions for elements rendered right next to it.
Fixed: We fixed the Angular version rating control since it didn’t work well with fractional values.
Fixed: Show properly rounded values for the stepper, in case of decimal steps (e.g. 0.3 instead of 0.30000000000000004).
General
New: We implemented dynamic options binding across all settings in the Angular version.
New: Added inputStyle
and labelStyle
props to react form components: Slider, Progress, Rating, Stepper and Switch. With this you’ll be able to keep consistency across inputs and all these other components too.
New: We added input-style
and label-style
support to all Angular components.
New: Typescript definitions landed in the React version of products.
Fixed: We fixed the Dutch localization, where some of the day names did not start with capital letters.
Listview
New: onListEnd
event was added and is triggered when someone scrolls to the end of the list view. Use this to implement load on demand, show a loading animation and so on.
New: We added a loading animation that you can show/hide with the following methods: showLoading
and hideLoading
. The icon inside the loading content can be specified with the loadingIcon
setting and it can be anything from the included icon package.
New: Hover styling for list items was added making it more desktop-friendly.
New: Native support for item selection was added. This means no more home-baked selected listview item logic.
New: We added the animateAddRemove
setting to turn animations on/off for adding and removing list items. Useful for turning it off on batch operations.
Fixed: We fixed a bug in the dynamic update logic of the context
setting. This is needed for the listview to be used correctly within Ionic Framework 4.
Numpad
Fixed: We added the missing preset
setting to the MbscNumpadOptions
type definitions.
Fixed: We exported the preset specific settings (MbscNumpadDateOption
, MbscNumpadDecimalOptions
...) that were missing in the Angular version.
Fixed: We fixed a bug with the thousandsSeparator
that messed up values in some cases: 0.0,005
was printed instead of 0.0005
.
New: We added support for [mbsc-options]
to be used with directives. This was only supported within the components before.
Range
Select
Fixed: Reduce filter input margin for Material theme.
New: You can now finally use the marked setting along with colored days, they are not mutually exclusive anymore.
General
Calendar
Fixed: Wrong date was selected on the calendar sometimes, if min
or max
were specified, and dateFormat
did not contain the year (#456).
New: Navigate method supports ISO string or moment object too.
Event Calendar
updateEvent
method added for easier event edit.Listview
remove
method was called for an already removed element. The error also occured in Angular, in case of the hierarchical listview, when the host component was destroyed.General
New: Individually control input and label style on a component basis in Angular and React.
Fixed: If modal picker was opened from a 3rd party modal dialog (Ionic, Bootstrap) the fight over keeping the focus caused errors. We stepped in to keep the peace.
Calendar
Forms
General
Fixed: Passing arrow functions to react components now update the components as needed.
Fixed: Added missing type definitions for the layout
setting.
Eventcalendar
Fixed: A bug got fixed in the redraw
method that messed up the calendar layout in RTL mode.
Fixed: Bug fixed that showed a wrong date after changing the view dynamically.
Fixed: Quick consecutive arrow taps failed if event listing was used. Bug got fixed.
Fixed: We fixed the more events
label that was not always correctly displayed.
Fixed: If popover
is set to false
, it completely disables the popover, even for more events
label.
Calendar
Fixed: redraw
method messed up the calendar layout in RTL mode.
Fixed: Wrong date was shown after changing number of weeks dynamically.
Color
data
prop are now taken into account in react.Forms
Fixed: We fixed the textarea label alignment for the iOS theme.
Fixed: We fixed sticky floating lables that were not behaving on Chrome auto-fill.
Listview
remove
method was fixed for hierarchical lists.Navigation
Numpad
formatValue
and parseValue
.Range
Fixed: redraw
method messed up the calendar layout in RTL mode.
Fixed: showSelector
can now hide the range start/end tabs for every configuration. This is useful when start and end are handled by two separate inputs.
Select
Fixed: The mbsc-select
directive will work on mbsc-dropdown
form elements.
Fixed: Scroll arrow wheels were fixed. No more hiding values in Mobiscroll theme.
General
Fixed: In certain timezones weekly repeating (w0
... w6
) failed for various settings (invalid, marked, labels, colors, events) in months where daylight saving starts (Date & Time, Calendar, Range, Event Calendar).
Fixed: Multiple popup buttons did not wrap in multiple lines and were cut off (Mobiscroll and Material themes).
Fixed: AOT builds in angular and ionic won't throw exception when using the forRoot
configuration.
Changed: Enable 3D scroll on Android 8 and above.
Calendar
onSetDate
.Color
onItemTap
and onPreviewItemTap
events.Eventcalendar
Fixed: Added missing property to the onDayChange
event argument.
Fixed: Added missing type definitions: eventText
, eventsText
, labelsShort
, onSetDate
Forms
Fixed: Floating labels were not updated on programmatic change events triggered by jQuery.
Fixed: Fixed the styling when additional elements were between the label and the input.
Fixed: Fixed iOS theme input border in autofill field.
Fixed: Form components won't re-render when there's no change of inputs.
Fixed: The mobiscroll inputs lost their styling in react when their valid state changed.
Range
Fixed: In certain timezones the range selection highlight was incorrect in months where daylight saving starts (#454).
Fixed: Added missing type definition for onSetDate
.
Scrollview
touchend
event when the content is scrolled vertically, it might cause exceptions in event handlers attached outside of the scrollview.Select
Fixed: Select died with an exception, if remote data was used with groups and filtering.
Fixed: Added missing type definitions for onFilter
event.
General
New: We've improved the usage of development modules within Angular. The components and directives are bundled into separate NgModules
so that you can load only what's needed. Steps are made towards full tree-shaking support..
Fixed: Various memory leaks were fixed in the Angular JS implementation.
Calendar
Fixed: Weekly repeat still failed in Safari for Sunday in Brasília Time (BRT) timezone. It got fixed.
New: Jalali and Hijri calendar systems were introduced besides the already supported Gregorian calendar. The new calendarSystem
setting is where you can set 'gregorian'
, 'jalali'
or 'hijri'
.
New: Year, month and day suffixes were added for Korean and Chinese languages.
New: We added support for multiple lables. It is now possible to use the Calendar and display multiple lables instead of just one.
Datetime
Fixed: Weekly repeat still failed in Safari for Sunday in Brasília Time (BRT) timezone. It got fixed.
New: Jalali and Hijri calendar systems were introduced besides the already supported Gregorian calendar. The new calendarSystem
setting is where you can set 'gregorian'
, 'jalali'
or 'hijri'
.
Eventcalendar
Fixed: We fixed the getEvents
method. It did not work correctly if a date was passed (regression introduced in v4.4.3).
Fixed: Weekly repeat still failed in Safari for Sunday in Brasília Time (BRT) timezone. It got fixed.
New: We are introducing a new way to list events. Events as labels is here with multiple day events and multiple labels per day.
New: Jalali and Hijri calendar systems were introduced besides the already supported Gregorian calendar. The new calendarSystem
setting is where you can set 'gregorian'
, 'jalali'
or 'hijri'
.
Forms
Fixed: We fixed a bug where form components didn't lose their styling after className
prop changes in React.
Fixed: We have improved the spacing of buttons inside button groups.
Cards
Image
Range
Fixed: Weekly repeat still failed in Safari for Sunday in Brasília Time (BRT) timezone. It got fixed.
New: Jalali and Hijri calendar systems were introduced besides the already supported Gregorian calendar. The new calendarSystem
setting is where you can set 'gregorian'
, 'jalali'
or 'hijri'
.
New: We added support for multiple lables. You can now display multiple lables inside the Range picker.
Scrollview
Select
Fixed: Fixed a typo in the type definitions which further improves usage.
Fixed: Another Angular JS memory leak fix. Select options generated with ng-repeat
were problematic.
Numpad
Treelist
General
Fixed: Remove high z-index from inline picker controls.
Fixed: Remove touch-action: none
styling from html / body elements in case of modal popups to prevent forced reflow on document - the styling was moved inside the modal markup.
Calendar
Fixed: Calendar tab styling fixes in inline mode, inside Mobiscroll Page.
Fixed: changeTab
method should not hide the calendar if tabs are not present.
Fixed: Don't focus invalid dates when clicked.
Cards
Eventcalendar
Fixed: Event list styling fixes inside the event popover.
Fixed: Selected day was not updated when only event list was displayed. Needed, when views are changed dynamically.
Forms
Fixed: Allow additional css classes to use on the MbscFormGroup
, MbscFormGroupTitle
, MbscFormGroupContent
and MbscAccordion
components.
Fixed: Nested collapsible elements didn't work correctly - child collapsibles were also toggled with the parent collapsible.
Fixed: ENTER key should close the prompt notification when the input is focused.
Listview
Fixed: Ghost click fix for UIWebView on iOS - hierarchical listview navigated 2 levels at once because of the ghost click.
Fixed: Floating labels did not render correctly on autofill fields.
Fixed: Autofill input field styling was improved.
Fixed: For Checkbox, Radio, Switch, Stepper, Progress, Slider and Rating components inputStyle
and labelStyle
props was not handled correctly in React.
Page
Popup
Range
defaultValue: null
did not work correctly, today's date was selected for start and end dates.Select
"
character.Navigation
Fixed: RTL mode scroll to center worked incorrectly on iOS Safari.
Fixed: React NavItem
s can be used with inline conditions without throwing an error.
Fixed: Switching from hamburger navigation to tab or bottom navigation using the responsive
setting did not work.
Fixed: Update badges on refresh
method call as well.
Treelist
General
Calendar
New: Calendar layout is automatically recalculated on size or visibility changes, even if there's no resize event.
Fixed: firstDay
parameter was wrong inside the onPageLoading
and onPageLoaded
events on initial load, if min
was also set and minimum date was inside the initially loaded month.
Eventcalendar
firstDay
parameter was wrong inside the onPageLoading
and onPageLoaded
events on initial load, if min
was also set and minimum date was inside the initially loaded month. This also caused the initial event list to be inside the wrong date range.Listview
Navigation
Page
Scroller
direction
argument of the validate
function was incorrect in case of wheel item tap.Scrollview
New: Scrollview layout is automatically recalculated on size or visibility changes, even if there's no resize event.
Fixed: Don't activate snap if layout is fixed and itemWidth
is specified, because it won't allow to completely scroll to the end.
Select
Fixed: Incorrect button positioning in center mode for filtered select.
Fixed: The input setting, that helps to customize the look, is now added to type definitions and documented.
Fixed: Dynamic data update failed sometimes when group wheels were present.
Fixed: Popup won't close after resize, if used with responsive
setting, showOnFocus
enabled and inside Mobiscroll Form.
Forms
Fixed: Styling fixes for box and outline styles for checkbox, radio, switch, slider, progress and stepper controls (iOS theme).
Fixed: Added missing inset
property to the MbscFormGroup
propTypes in React.
Fixed: There was a bug in React which caused an exception on every text update in the Textarea component.
Fixed: Border radius added for box and outline inputs inside a form group inset on iOS theme.
Fixed: The Angular Input, Textarea, Dropdown and Rating component can be made readonly with the readonly
attribute.
Fixed: Don't display border for iOS themed form group title, if input style is box or outline.
Grid Layout
border-box
box sizing to appear correcty outside an mbsc-page
too.Forms
New: New label styles were introduced across all themes. Controlled by the labelStyle
setting you can now render inline, stacked and floating labels.
New: New input variations were introduced across all themes. With the inputStyle
setting you can now render standard, box or outline inputs. These settings translate to select elements as well.
New: Proper styling was added for React select elements with the little arrow and everything.
Fixed: The disabled cursor was fixed for switch elements.
Changed: The react MbscFormGroup
, MbscFormGroupTitle
and MbscFormGroupContent
components were renamed to FormGroup
, FormGroupTitle
and FormGroupContent
. The old naming is deprecated and will be removed in a future release.
General
New: New typography CSS classes were introduced. Text size modifiers, light color modifiers, ordered and unordered list styles were added.
Fixed: A small but nasty bug was fixed where the responsive
setting caused an infinite loop in inline mode for non full-width components.
Fixed: We removed internally used lifecycle hooks from react components, that will be deprecated in upcoming react versions.
Listview
Navigation
Fixed: We fixed a bug that caused a React exception on re-rendering whenever another component changed that resided before it in the DOM tree.
New: We improved the Navigation component usage for Angular and Ionic Framework by adding support for the RouterLink
directive that automatically selects the active route.
New: We also improved usage in React. The NavItems
now support the same props as the Link
component and become selected when the path matches their to
prop.
New: Responsive breakpoints ware introduced for controlling and configuring various settings based on screen sizes. You can now make the components fully responsive with the new responsive setting.
Page
Popup
Range
Scrollview
New: Responsive breakpoints ware introduced for controlling and configuring various settings based on screen sizes. You can now make the components fully responsive with the new responsive setting.
Fixed: Corrected a typo in the Scrollview components that prevented Proptypes validation.
Fixed: We fixed a bug that caused a React exception on re-rendering whenever another component changed that resided before it in the DOM tree.
Select
Fixed: We fixed a bug that broke keyboard navigation and selection for multiple select, filter select and non-touch UI mode.
Fixed: We fixed a bug that prevented the usage of custom React components within the Select. You can now use the select on custom inputs or components.
General
Fixed: In some cases onBeforeShow
was fired multiple times, if handler returned false.
Fixed: Disabling a picker control will also disable all associated input fields as well.
Cards
Eventcalendar
onEventSelect
handler received the wrong date as argument in case of event listing.Forms
Fixed: Remove fixed height from collapsible on animation end, otherwise layout will be incorrect after resize / orientationchange.
Fixed: Toggle switch did not work correctly if tapped directly on switch handle (regression introduced in 4.3.1).
Treelist
This is probably our biggest release since 4.0. We are introducing a new component: Mobiscroll Grid Layout. It is our full-featured responsive grid system for building flexible layouts.
We are launching support for desktop and pointer interaction for all of our mobile components. Scroller components and everything that was previously only available with touch interaction supports actual scrollbars and full interaction with a cursor.
If this wouldn’t be enough we are also introducing responsive breakpoints. You can now pass diffreent settings for diffreent screens, which means it is super easy now to make components show up and behave differently depending where they are being loaded. This works hand in hand with the new desktop support. You can now easily configure a touch UI on mobile and have pointer interaction desktop with a different display mode.
Oh and let’s welcome the new Thai and Ukrainian translations pushing up the supported languages to 37.
Calendar
Cards
mbsc-accordion
container to enable accordion behavior.Color
ion-input
s when selected.Eventcalendar
Forms
rows
attribute was added to the mbsc-textarea
component to control the maximum number of rows.General
showOnFocus
and showOnTap
is false.touchUi
option to false. This simple setting involves a lot of behind the scenes heavy lifting including desktop rendering, positioning and enabling interaction with scrollbars instead of relying on touch UI.responsive
setting.ion-input
components will behave correctly after data selection.Gridlayout
Languages
Listview
sortable
setting.Numpad
Range
Select
filter
property was added to the MbscSelectOptions
type.Treelist
ng-repeat
.Widget
mbsc-no-padding
CSS class can now be applied for the component to remove the default padding, using the cssClass
setting.General
Languages
eventText
and eventsText
translations were missing from most of the language files.Calendar
Fixed: Type of the controls setting updated to array in angular.
Fixed: Display the month name of the selected date in calendar header on initial show in case of week view, instead of the first day of the visible week.
Fixed: Calendar scroll was off by a few pixels after multiple month changes, if the calendar width was fractional.
Card
Eventcalendar
Fixed: Added missing view
setting for eventcalendar inline settings.
Fixed: eventBubble
setting did not work when set to false
.
Fixed: Event listing threw error if ISO 8601 date strings were passed to event start/end dates.
Listview
Navigation
onItemTap
event was triggered twice if an item was tapped inside the bubble popup (on touch devices).Range
Fixed: Type of the controls setting updated to array in angular.
Fixed: Fixed exception in angular when rangepicker was opened and closed without focusing any element.
Select
Fixed: data
setting type updated in react and angular to enable the use of remote datasources.
Fixed: Make filtering work with numbers as well.
Fixed: onFilter
event was not triggered when the filter input clear button was pressed which caused problems on custom filter implementations.