What’s New
Happy to announce 5.4 with a bunch of new stuff along with a maintenance release that is 4.10.9.
We are adding a couple of new features and improvements that let you fine-tune several aspects of the calendaring experience: control over the built-in event validation, tools for overriding the default event order, built-in support for locked events that cannot be moved and means to control the time grid granularity in the scheduler.
Validating events on drag & drop
The event calendar ships with built-in validation against disabled days, times and ranges. We are adding the invalidateEvent
with the new option of 'start-end
that only checks against the start & end of the newly placed event and lets you create them even with invalid ranges inside eg. a task that overlaps with a lunch break, or a multi-day task that starts on Friday and ends on Thursday the next week with the weekend disabled. By passing 'strict'
no overlap is tolerated and the event will be thrown back accordingly. This is supported in both the scheduler and calendar view.
Start/end or strict validation
Custom event order
With the eventOrder
option you can override the default order of the labels, agenda items and scheduler all-day events. It expects a function that compares two events and returns an order. This way any custom ordering logic can be implemented that makes sense in the context of the calendar. Eg. show all PROPOSED vacations at the top before APPROVED time off. See it in action for the event calendar and scheduler.
Events with custom order
Locked events
Drag & drop can be enabled or disabled on the whole instance of the calendar. With the new editable
property of the event object you can lock specific events that will stay locked even if drag & drop is enabled for all other events. This is especially helpful for fixed events and comes in real handy if user permissions and roles are in the mix. Available for for both the calendar view and scheduler.
Fixed events in event calendar
Control over the granularity of the time grid
With the recent additions of startTime
and endTime
to the schedule view configuration it is possible to only show the relevant hours in the time grid. We are adding two new options for controlling the cell steps and labels. timeCellStep
and timeLabelStep
can be configured in the same place as start/end.
Time scale & label control in the scheduler
MOBISCROLL 5.4
Datepicker
FIXED
- We fixed an issue where selecting a date on the calendar sometimes broke the swipe and arrow navigation.
Eventcalendar
NEW
- We added the
invalidateEvent
option to configure the built-in validation of events on create/move/resize. Setting it to'start-end'
, invalid ranges can be in bounds of an event, only the event start and end cannot overlap. Withstrict
the event cannot intersect with any invalid range at all. - We added the
eventOrder
option to customize the sort order of the events. - We added the
editable
property to the event object which disables drag & drop and resize on the event iftrue
.
FIXED
- We fixed an issue where the custom label templates did not receive the formatted start and end times.
Forms
NEW
- We updated the look & feel of the iOS stepper, and improved the styling of the Material and Windows themes.
FIXED
- We fixed an issue in jQuery / Javascript that broke the styling when the original input element had a custom css class.
Scheduler
NEW
- We added the
invalidateEvent
option to configure the built-in validation of events on create/move/resize. Setting it to'start-end'
, invalid ranges can be in bounds of an event, only the event start and end cannot overlap. Withstrict
the event cannot intersect with any invalid range at all. - We added an improvement so when resources are not passed at all or
null
orundefined
is passed, theresource
property of the events are not taken into account and all events are displayed. - We added the
eventOrder
option to customize the sort order of the events (all day events only). - We added the
editable
property to the event object which disables drag & drop and resize on the event iftrue
. - We added the
timeCellStep
andtimeLabelStep
properties to theview
option to control the granularity of the time grid.
FIXED
- We fixed the current time indicator positioning which was a bit off when the horizontal scrollbar was present.
- We fixed the header horizontal scroll in RTL mode.
- We added the missing resource argument to the
onCellClick
,onCellRightClick
,onCellDoubleClick
,onEventClick
,onEventRightClick
,onEventDoubleClick
events. - We removed the min-width from the scheduler when there are no resources specified.
MOBISCROLL 4.10.9
All Components
FIXED
- We fixed the scss deprecation warnings which appeared when used with the new Dart Sass.
Calendar
FIXED
- We fixed a bug, that caused an infinite loop exception in Angular, when the calendar’s input field was empty and editable. The exception was thrown right after the calendar was opened.
- We fixed a typo in the Italian day name translation.
Cards
FIXED
- We fixed an issue, where the
themeVariant
option used on the Card component was unwillingly passed to a div element, which resulted in a warning in React.
Datetime
FIXED
- We fixed a typo in the Italian day name translation (#484).
Eventcalendar
FIXED
- We fixed an issue, where the
weekDays
andyearChange
options were not working if specified inside theresponsive
option. - We fixed a typo in the Italian day name translation.
Forms
FIXED
- We fixed an issue with the Stepper component, where the plus button was not disabled when
min
was equal tomax
.
Numpad
FIXED
- We improved on the type definitions of the
option
method. You can now pass options that are specific to the different presets like the decimal or the timespan numpad for example.
Select
FIXED
- We fixed an issue where the Select was not properly destroyed if initialized on an input element with data option.
- We fixed an issue where in desktop mode the first option was partly out of view in case of event row numbers. (#480)
For the full changelog please visit our release history.
PS. You will find an upgrade guide for moving from Mobiscroll 4 to Mobiscroll 5.