Calendar – Change Log
Version 5.5.3
2023-09-15BUG FIXES
Version 5.5.2
2023-08-30FEATURES / ENHANCEMENTS
- New demo
drag-onto-tasks
showing how to drag custom objects onto an event YearView
may now show "No events" in its cell tooltip (#5530)
LOCALE UPDATES
- There is a new locale key
noEvents : 'No events'
which may be used byYearView
's cell tooltip
BUG FIXES
Version 5.5.1
2023-08-16BUG FIXES
Version 5.5.0
2023-07-31This release is a replacement for the 5.4.3 patch release. It was changed to a minor version because of some larger changes behind the scenes to pave the way for future support for live updates in Scheduler Pro and Gantt.
BUG FIXES
Version 5.4.2
2023-07-26BUG FIXES
- #4163 – Inconsistent undo/redo behavior in calendar demo
- #6995 – VUE An exception when use
workingTime
config in calendar timeline view - #7127 – Id collision error when creating new event using an external button on
EventList
mode - #7166 – Properly maintain
b-selected-date
class inResourceView
day headers - #7169 – Events hidden behind other events when switching modes
- #7185 – Event sort works incorrect in Month View
- #7196 –
autoCreate
step not always propagated intoTimeField
step - #7208 – Calendar's active date not changing with
Datepicker
Version 5.4.1
2023-07-13FEATURES / ENHANCEMENTS
- We have created a public repository to showcase Salesforce demos. All previous demos are merged into one Lightning Application which is easy to install to a new scratch org. You can find more information in updated guides and in this repository: https://github.com/bryntum/bryntum-salesforce-showcase#bryntum-salesforce-showcase
- We have created a public Salesforce org where this app is preinstalled. You can find link to it and login credentials on the updated examples page
BUG FIXES
- #6077 – TypeScript
Model
constructors should allow second param - #7085 –
beforeEventEdit
event should handle async handlers - #7106 –
ExternalEventResource
drag drop crashes if no resource onDayResourceView
- #7107 – Extra horizontal scrollbars shown in
resourceview
in narrow window - #7132 – Calendar
ResourceFilter
change listener has wrong 'oldValue' on select
Version 5.4.0
2023-06-30FEATURES / ENHANCEMENTS
Widget
has a new config,maximizeOnMobile
which takes effect only onfloating
widgets on a mobile device. It causes the widget to be maximized instead of positioned in order to accommodate the mobile virtual keyboard. This will make event editing much easier to use on mobile devices (#6522)- On mobile devices,
type : 'checkbox'
is rendered as aslidetoggle
widget. The API and value is the same, it is just a more appropriate UI for the platform - Calendar has a new mode,
dayresourceview
which shows columns of events for each selected resource for each day in its range. Check it out in the newdate-resource
example - The
CalendarDrag
feature now has a new configremoveFromExternalStore
. It defaults totrue
meaning that when an event is dropped on the Calendar from an outside event store, the record is removed from that store. If set tofalse
, the record is *not* removed, and a __clone__ of the dragged record is inserted at the drop position. - The
ExternalEventSource
feature now allows adroppable
property to be specified. If agrid
is configured as the external UI, then dropping will Just Work. If the event source is just DOM elements, there aredragMoveExternal
anddropExternal
events. (#6826) - For a slightly better docs experience for most users, the docs browser now by default hides some more obscure APIs
normally only used when implementing own widgets and features. Advanced users in need of these APIs can still opt in
to see them using the
Show
menu in the docs browser
BUG FIXES
- #6957 – Unexpected drag proxy in
dragfromgrid
demo - #6963 – Drag from Grid demo exception when dragging
- #7002 – Clarify granularity level of
dayStartTime
anddayEndTime
in API docs - #7003 – Set
coreHours
to thedayStart
and end if they went through rounding - #7007 – ResourceView overwrites configuration with values from itself.
- #7019 – Align constrained doesn't work in some cases.
- #7020 – Drag from
ExternalEventSource
into Calendar with no resources throws Error - #7057 – CalendarRow cell width mismatch on narrow Calendars
- #7068 – The "Select all" item in List is not internationalized
Version 5.3.8
2023-06-28BUG FIXES
- #6981 – Applying german locale after init makes
ResourceView
show wrong week
Version 5.3.7
2023-06-20FEATURES / ENHANCEMENTS
- New Event items demo. The example shows how to attach an arbitrary list of items (guests) to an event. The demo is
located in
examples/event-items
folder
API CHANGES
- When changing
timeZone
on a Calendar, the date range that the Calendar is currently displaying will not change unless the active view is aDayView
and the selected days events center point will, when converted to a different time zone, be changed to a different day - The
DayView
methodszoomTo
andzoomBy
now return aPromise
that may be awaited if postprocessing the updated UI state is required
BUG FIXES
- #6467 – Replace separate view live demos to enable drag drop
- #6839 – Calendar
currentTime
indicator is not converted totimeZone
- #6871 –
overflowPopup : null
should makeYearView
switch toDayView
in Calendar - #6872 –
FilterField
should tolerate its field value beingnull
/undefined
- #6880 –
WeekView
's all day row horizontal scroll may become out of sync if no all day events exist and theminDayWidth
is set to cause horizontal overflow. - #6973 – Calendar
editEvent(eventRecord)
crashes withoutstartDate
andendDate
Version 5.3.6
2023-05-26API CHANGES
- Event bar colors are set in an event element using the
--cal-event-color
CSS property, not by setting a color name CSS class - All day event bars (and all event bars which are rendered using the renderData option
solidBar : true
) which do not have aniconCls
may now show the default circular "bullet" icon before the text. To enable this, configure that mode (or the Calendar'smodeDefaults
) withshowBullet : { bar : true }
- The
durationUnit
used in the new record when drag-creating events now matches the unit specified in thedragUnit
property of the active view. The defaults have not changed, so in aDayView
, the duration of drag-created events will be inhours
and in all other views, (including the all dayCalendarRow
in aDayView
) indays
(#6798) - The
EventTooltip
feature may now be configured withrevealEventsInCluster : false
which means that when hovering a narrow event which is sharing day column width with other, overlapping events the hovered event does not expand to the full width (#6410)
LOCALE UPDATES
DayView
andWeekView
may now be configured with how to snap an autoCreate pointer date to anautoCreate.step
point. TheautoCreate.snapType
may be configured as'round'
(the default),'floor'
or'ceil'
(#6739)
BUG FIXES
- #6771 – No cell content should be shown for "other month" cells in
MonthView
- #6772 – Event colour source should be taken from correct resource
- #6779 –
MonthView
events bars not conforming toeventColor
renderer values. - #6781 – Remove erroneous
dayCellRenderer
docs fromAgendaView
- #6828 –
CalendarDrag
should not create anAllDayZone
if theallDayEvents
widget has been configured away
Version 5.3.5
2023-05-11FEATURES / ENHANCEMENTS
- The
ResourceFilter
widget may now be configured to also filter theresourceStore
by configuringfilterResources
astrue
(#6698) DayView
andWeekView
event renderers now accept abodyColor
property to therenderData
which specifies the background color of the body part of the event block (#6690)- The
EventStore
settingremoveUnassignedEvent
now defaults tofalse
for the Calendar product. This means that removing all assignments from an event will *not* remove it from the event store (#6732)
BUG FIXES
- #6093 – Resource filter not respected on initial loading
- #6516 – Calendar state save and restore may include the date
- #6683 – Calendar sidebar collapses when
Combo
dropdown clicked - #6701 – IONIC
Scrollbar
width could not be determined under Ionic framework - #6702 – Setting EventList
listRangeItems
item tonull
causes error - #6705 – Crash in
shifted
demo - #6708 –
showEvents : 'count'
inYearView
doesn't work - #6714 – When
DayView
hasdaySelector : true
, the time axis is not accounted for - #6733 – Crash if calendar sidebar is destroyed while loading
- #6744 –
DayView
allDayEvents
should be able to be configured as expanded
Version 5.3.4
2023-04-28BUG FIXES
- #4631 –
eventDrag
not working well if data mapping used for start/end dates - #6588 –
ListView
bugs when asked to display arbitrary date range as opposed to range config - #6627 – Zero duration all Day Event shown incorrectly
- #6629 – Fix hiding context menus inside LWC components on scroll
- #6633 –
PickerField
editable:false
doesn't work inside WebComponent - #6651 – Calendar: after zoom, scroll jumps on click-n-drag event creation
- #6652 – Minified UMD bundle does not export
bryntum
namespace
Version 5.3.3
2023-04-21FEATURES / ENHANCEMENTS
- VUE-3 Added a new Vue-3 demo, "Scheduler Timeline". Demo is located in the
examples/frameworks/vue-3/calendar-scheduler
folder - VUE-3 Added a new Vue-3 demo showing binding to inline data arrays, "Scheduler Timeline Inline data". Demo is
located in the
examples/frameworks/vue-3/calendar-scheduler-inline
folder CalendarDatePicker
now offers aneventFilter
config to match other Calendar widgets (#6591)- ANGULAR Bryntum Calendar now ships with two npm Angular wrapper packages to support different versions of Angular
framework. Existing
@bryntum/calendar-angular
package is now designed to work with Angular 12 and newer versions, which use the IVY rendering engine. New@bryntum/calendar-angular-view
package is designed to work with Angular 11 and older versions, which use the View Engine rendering. Check Upgrading and Angular integration guides in documentation for more information (#6270) - ANGULAR
angular-7
demo has been upgraded to use Angular 11 and@bryntum/calendar-angular-view
package. Demo is located inexamples/frameworks/angular/angular-11
folder
BUG FIXES
- #4516 – Calendar doesn't accept
project
instance - #5532 – Fix documentation of Vue 3 demo documentation
- #6498 – Allow application intervention in event positioning within
DayView
- #6583 –
YearView
doesn't render recurring events which areallDay
- #6612 – Duplicate tooltip renderer called
- #6614 – + n more count incorrect when overflowing events start below the bottom of the cell
- #6622 –
DayView
does not change date on header click
Version 5.3.2
2023-04-04FEATURES / ENHANCEMENTS
- Elements rendered by the
TaskNonWorkingTime
feature elements now triggertaskNonWorkingTimeClick
,taskNonWorkingTimeDblClick
andtaskNonWorkingTimeContextMenu
events on the Gantt instance. (#5679) - There is a new
Calendar
event:beforeAutoCreate
. This is a preventable event which fires before a UI-initiated create gesture is actioned. This allows a single point of validation for UI-initiated event creation (#6472) - ScheduleMenu is now enabled by default, allowing easier event creation using context menu on empty schedule space.
BUG FIXES
- #6395 – ANGULAR Cannot use
StateProvider
with a production build - #6417 –
schedule<DomEvent>
events do not bubble out ofResourceView
to the Calendar - #6458 – Event dragging in Scheduler child mode does not relay onBeforeEventDrag event correctly
- #6513 – Event tooltip should not show when double clicking event inside scheduler
- #6514 –
ScheduleMenu
not working inside Scheduler mode - #6515 – Clicking
EventList
row for event who'sstartDate
is before visible range changes visible range
Version 5.3.1
2023-03-17API CHANGES
- Date parsing was made more forgiving in regard to character used to separate date parts. For example these strings are
now all acceptable as
HH:mm
:10:20
,10 20
,10-20
,10/20
(#6344)
BUG FIXES
Version 5.3.0
2023-03-02FEATURES / ENHANCEMENTS
- CSS changes in Scheduler has cut the size of Calendar's standalone CSS-bundles roughly in half (Calendar includes Schedulers styling to allow using Scheduler as a mode). See Schedulers upgrade guide for more information
- Support for Time zone conversion has been added to all Bryntum scheduling products. Simply set a IANA time zone
identifier as value for the
timeZone
config and that's it. But, since time zones is not supported natively in JavaScript we strongly recommend to read our Time zone guide (#1533) - Localization demos updated to show up-to-date localization approach
- New
TimeRanges
feature, that shades time ranges and displays a header in the gutter of day and week views. Try it out in the newtimeranges
demo (#5113) AjaxHelper.fetch
now supports using request body to pass parameters for non-GET requests. Please checkaddQueryParamsToBody
argument in the method documentation (#2855)- We have added support for
resourceTimeRanges
to be added to a project. These are rendered only into subviews of aResourceView
which have matching resource ids (#5835) DayView
andWeekView
have a newsixMinuteTicks
config. When set to true, the time axis is subdivided into six minute ticks instead of the default five minute ticks (#5645)- Lots (but not all) of the not so informative
object
types in our TypeScript typings have been replaced with more specific types. Objects that in our JavaScript are used as maps are now declared asRecord<keyType, valueType>
, and for functions that accept object arguments many are replaced with anonymous type declarations, such as{ foo: string, bar: number }
(Partially fixed #5176) YearView
and the Calendar'sdatePicker
may now show more than 4 dots whenshowEvents
is'dots'
by setting themaxDots
config on theyear
mode or thedatePicker
config. Note that increasing this value may produce a cluttered UI (#6238)YearView
and the Calendar'sdatePicker
may now be configured witheventCountTip : true
which causes a tooltip to appear to display the event count for the day when a cell is hovered
API CHANGES
- DEPRECATED
LocaleManager.registerLocale
andLocaleManager.extendLocale
are deprecated.LocaleHelper.publishLocale
should be used instead. DayView
'shourHeightBreakpoints
now accepts an array of heights instead of an object. The object form is still supported, but might get deprecated in the future
LOCALE UPDATES
- Locales format and process for applying locales have been simplified
- New locales for 31 languages have been added. Currently available languages are listed in the localization guide (Guides/Customization/Localization)
BUG FIXES
Version 5.2.10
2023-02-17FEATURES / ENHANCEMENTS
- Added support for adding different core hours times for each day (#6043)
API CHANGES
- Recently browsers have added support for Unicode 15, which changes the output of
Intl.DateTimeFormat
when formatting time to includeAM
/PM
. Those browsers now use "thin space" (\u202f
) instead of regular space. This affects theDateHelper.format()
function, but likely you do not need to take any action in your application. It also affectsDateHelper.parse()
, which has been updated to support the new unicode space (#6193)
BUG FIXES
Version 5.2.9
2023-01-30FEATURES / ENHANCEMENTS
- The event editor of the
EventEdit
feature may be reconfigured to not be a popup by configuring theeditorConfig
withfloating : false
or by adding anappendTo
config. In this situation, the editor is displayed as a side-docked overlay. See the new docked-editor example. (#5873)
BUG FIXES
- #6019 – TypeScript Feature classes and configs have
on
event handlers exposed on owner class
Version 5.2.8
2023-01-19BUG FIXES
Version 5.2.7
2023-01-11FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
Version 5.2.6
2022-12-28FEATURES / ENHANCEMENTS
- REACT React wrapper now supports React components in widgets and tooltips (#774)
BUG FIXES
Version 5.2.5
2022-12-16FEATURES / ENHANCEMENTS
ListView
now offers aresourceColumn
in which is displayed a read-onlyChipView
depicting the resources assigned to the event
API CHANGES
- The
EventStore
loadDateRange
event would previously only fire when a different date range of events was requested from the store. Not as the documentation states "when a range of events is requested". This now fires whenever a date range of events is requested. Achanged
flag is set in the event if the range is a new date range
BUG FIXES
- #3954 – Fixed dragging all-day events with
dayStartShift
in effect. - #4530 –
loadOnDemand
with sidebar date picker usingshowEvents : true
causes an infinite loop - #4920 – Calendar throws error when dragging event from overflow popup
- #5672 – Double click on calendar date throws exception
- #5685 – Non-draggable events are draggable in overflow popup
- #5763 –
loadOnDemand
feature needsrefresh
method - #5780 – ICS export datetime stamp is not UTC
Version 5.2.4
2022-11-28FEATURES / ENHANCEMENTS
- We recently launched a new homepage over at bryntum.com, and have now slightly updated the styling for demos and docs to better match it (new logo, new header color, new font). Please note that this is not a change to our themes, only the look of the demos, and it won't affect your application
BUG FIXES
Version 5.2.3
2022-11-17BUG FIXES
Version 5.2.2
2022-11-08FEATURES / ENHANCEMENTS
- In
DayView
s, events with a duration such that relative to thehourHeight
, the element is too small to contain wrapped text will automatically change to a compact rendition. If thehourHeight
changes (such as by zooming), the rendition will be corrected as appropriate (#1948) DayView
now has acurrentTimeIndicatorRenderer
which allows a customized current time indicator to be used (#4972)- The
emptyText
config of theagenda
mode may now be an HTML string (#5046)
API CHANGES
- DEPRECATED The behaviour of the
store.data
getter will be changed in 6.0. Currently, it returns the **initial** raw dataset, in 6.0 it will be changed to have the more expected behaviour of returning the data objects for the **current** state instead. See Grid's upgrade guide for more information (#5499)
BUG FIXES
- #5484 – Add day of week indicator class name to Calendar cells
- #5495 –
AgendaColumn
needs to beautoHeight
if using a customeventRenderer
- #5528 –
dayNumberClick
andmonthNameClick
events are not firing for specific modes - #5536 –
allDayEvents : null
inDayView
children ofresourceView
leaves all day rows in the timeaxes
Version 5.2.1
2022-10-28FEATURES / ENHANCEMENTS
DatePicker
now fully supports two modes ofmultiSelect
. Setting it totrue
means that multiple, discontinuous ranges may be selected. Setting it to'range'
means that one single range of one or more consecutive dates may be selected. (#5368)
API CHANGES
- Added
includeWeekendsButton
toCalendar
with default value offalse
. Changed text of button to "Weekends" from "Full". (#5459)
BUG FIXES
- #5149 – Angular demos now use component-local styles using
ViewEncapsulation.None
- #5374 – Text cropped in calendar events
- #5392 – Crash when clicking mode selector button in small screen in web component
- #5433 – Today button does not reset small and large calendar to today
- #5440 – Allow custom
eventSorter
function for views includingOverflowPopup
- #5455 – LTS date format does not parse seconds
- #5460 – The duplicate event option breaks assignment of events to resources
Version 5.2.0
2022-10-13FEATURES / ENHANCEMENTS
- Calendar
DayView
now shows all week days above the detail area (#2899) - Calendar responds to platform differences (via the
Responsive
mixin) and provides a significantly improved User Experience on small screens. This responsive behavior is also compatible with saving the calendar state In particular, on small screens: - The calendar sidebar automatically switches to overlay mode
- The mode selection area switches to a menu button with radio items instead of the button group
- The calendar description text is shortened
- Improved year view layout (#4617)
- Calendar uses a new
Calendar.widget.ModeSelector
instead of aCore.widget.ButtonGroup
on its toolbar - The
ModeSelector
supports apopup
mode which, whenpopup: true
, displays the available calendar modes in a menu instead of the regular button group. This switch is made by default on small displays via the newresponsive
behavior described above. - When the active mode of the calendar supports it, the mode selector displays a
Full
button to allow the user to toggle between full weeks and work weeks. - Calendar views now have a
descriptionFormat
config to simplify changing the description responsively. If adescriptionRenderer
is provided, it takes precedence over thedescriptionFormat
- Calendar added the
navigatorPlacement
config to allow the forward/backward/Today buttons to appear on the sidebar instead of the toolbar - Menu has a
separator
config to make it easier to visually separate menu items - The responsive state objects used in the
responsive
config of theResponsive
mixin now support aonce
property to allow configs to only be set on first activation of the state - The
Core.helper.DateHelper
class has a new methodformatRange
method which can format date ranges, as well as new formatting options for week numbers - A new config,
emptyCellRenderer
allowsMonthView
andCalendarRow
(The all day row in aDayView
orWeekView
) to display a clickable button in cells which contain no events. There is a newemptyCellClick
event. (#4413)
Version 5.1.5
2022-10-12FEATURES / ENHANCEMENTS
DatePicker
now fully supports two modes ofmultiSelect
. Setting it totrue
means that multiple, discontinuous ranges may be selected. Setting it to'range'
means that one single range of one or more consecutive dates may be selected. (#5368)- New records are assigned a generated
id
if none is provided. The generatedid
is meant to be temporary (a phantomid
), and should be replaced by the backend on commit. Previously theid
was based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the sameid
during a session, but if an application serialized the generatedid
(note, they should not) and then reloaded it, it would eventually collide with a new generatedid
. To prevent this, the generatedid
s are now based on a random UUID instead - Stores now by default show a warning on console when loading records that has generated
id
s, as a reminder that it should be replaced by the backend on commit
BUG FIXES
- #4434 – The
EventMenu
context menu's "Delete event" option doesn't handle recurring events properly - #4488 – Overflowed events with custom
propagateEndDate
not marked with right arrow - #4645 – Improve error message "Bryntum bundle included twice"
- #4654 – REACT Bryntum widget wrappers don't accept all component properties in React 18
- #4729 – Can't clear multi-select options in combo with keyboard navigation only
- #5333 –
syncCurrentTimeIndicator
throws an error if "today" is a hidden non working day - #5346 – Deleting the base of a repeating event causes exception
- #5347 – Allow
defaultCalendar
to be explicitly configured asnull
- #5370 –
EventEditor
resourceField
store cannot be reconfigured
Version 5.1.4
2022-09-29FEATURES / ENHANCEMENTS
- The
showEvents
config of Calendar's sidebarDatePicker
and Calendar'sYearView
may now be'dots'
to show events as a series of event-coloured dots. Maximum of three inYearView
and four inDatePicker
. (#5234)
API CHANGES
- DEPRECATED The
events
config of the sidebarDatePicker
has been renamed toshowEvents
. Theevents
property is deprecated but will continue to work during its deprecation period
BUG FIXES
Version 5.1.3
2022-09-09BUG FIXES
- #415 – Improve docs on formatting currency values on
NumberField
- #2742 – Configurable time axis tick
amount
/unit
showing the Hours Between 15 Minutes - #5156 – Calendar Overflow Popup is hidden behind other nearby components on the page
- #5165 – Keyboard operations from
overflowPopup
inResourceView
throw errors, or silently fail
Version 5.1.2
2022-08-29FEATURES / ENHANCEMENTS
- Configs that accept configuration options for a widget (or other class) are now (mostly) documented to accept a typed
config object rather than a plain object. For example instead of
{Object} tooltip - A tooltip configuration object
, it is now{TooltipConfig} tooltip - A tooltip configuration object
. This improves our TypeScript typings (transforms toPartial<TooltipConfig>
in typings) when using such configs, but also improves our docs by linking to the configs of the type - We added the config
offsetStartsBeforeEvents
toAgendaView
which, when set tofalse
, removes the alignment of the textual content of event bars when there is an arrow indicating that the event is continued from a previous cell (#5044)
BUG FIXES
- #2124 – UI issues related to recurring events
- #3433 – Changing
minDayWidth
of the week view makes dragged events misaligned - #4766 – Focus changes when clicking scroll down resources list
- #4769 –
EventTooltip
tools which are not active are hidden (For example if Calendar isreadOnly
) - #4781 – Calendar events are not being displayed correctly when ending at midnight
- #4793 – Wrong sidebar styling for classic theme in calendar demos
- #4897 –
ResourceFilter
should continue to filter when its ownStore
is filtered - #4988 –
scheduleMenu
doesn't catchresourceRecord
correctly in scheduler timeline mode - #5007 –
zoomOnMousewheel
zooming has to be synced between multipleDayViews
inResourceView
- #5017 – TypeScript Property type is missing in
DataFieldConfig
- #5018 – Vue Prop Validation fails for
String
options - #5024 –
eventRenderer
renderData
object needs aniconStyle
property for apps to override defaults - #5079 – Sidebar datepicker should not have a background color
- #5111 – Mouse events not being triggered properly in events on same day
- #5120 –
EventTip
throws error when shown oncontextmenu
Version 5.1.1
2022-07-28BUG FIXES
Version 5.1.0
2022-07-21FEATURES / ENHANCEMENTS
- The new config
eventListTimeFormat
is available for views which extendEventList
(EventList
andAgendaView
). This config specifies the format for rendering time values next to event bars (#4375) - Our TypeScript typings for string types that have a predefined set of alternatives was improved to only accept
those alternatives. For example previously the
dock
config which was previously declared asdock: string
is nowdock : 'top'|'right'|'bottom'|'left'
- Create React App templates now available
- Configuring the CrudManager was made a little easier by introducing shortcuts for setting load and sync urls using the
new
loadUrl
andsyncUrl
configs - Updated the built-in version of FontAwesome Free to
6.1.1
KeyMap
is a mixin that allows for standardized and customizable keyboard shortcuts functionality.KeyMap
is by default mixed in toWidget
and therefore available to allWidget
's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)- Calendar's
MonthView
has a new config :hideOtherMonthCells
Hide day cells which are not part of the current displayed month - Calendar's
MonthView
has a new config :disableOtherMonthCells
Disable all pointer interaction with day cells which are not part of the current displayed month
API CHANGES
- BREAKING ANGULAR Angular wrappers now use the more modern module bundle by default, instead of the legacy umd bundle. Hence application imports must be changed to match. This will slightly improve application size and performance (#2786)
- BREAKING
calendar.lite.umd.js
bundle is no longer available - BREAKING WebComponents has been removed from
calendar.module.js
ES modules bundle. New bundle with WebComponents iscalendar.wc.module.js
BUG FIXES
Version 5.0.7
2022-07-13BUG FIXES
- #4610 – Make
calendar.assignments
public - #4856 –
OverflowPopup
disappears when right click one of its items - #4857 –
OverflowZone
's drag proxy only required ifowner.isYearView
- #4864 –
MonthView
resize event using left edge leaves the event name rendered at the old position - #4895 – LWC
DragCreate
in all day header throws - #4916 –
Fullscreen
is not working on mobile Safari
Version 5.0.6
2022-06-20BUG FIXES
Version 5.0.5
2022-05-30FEATURES / ENHANCEMENTS
- New Angular demo that shows how to drag events from an unplanned event grid to calendar (Partial fix of #4587)
BUG FIXES
Version 5.0.4
2022-05-11BUG FIXES
- #4499 – Resource avatars demo not showing any event bars
- #4529 – Sync is triggered when Scheduler is used as Calendar mode, after double clicking to create new event
- #4544 – Calendar fires an
eventundefined
event upon key down - #4548 – Not possible to hide delete button on the event editor
- #4562 – REACT React wrappers have incorrect source mapping urls
Version 5.0.3
2022-04-26FEATURES / ENHANCEMENTS
- WRAPPERS
ProjectModel
wrapper component reference can now be used asproject
parameter for Bryntum Calendar wrapper component in Angular applications (#4238) - WRAPPERS Calendar has a new
ProjectModel
framework wrapper available for React and Angular. It simplifies sharing data between multiple Bryntum components (#4382) - ANGULAR New demo showing use of inline data and
ProjectModel
wrapper. Demo located inexamples/frameworks/angular/inline-data
folder - REACT New demo showing use of inline data and
ProjectModel
wrapper. Demo located inexamples/frameworks/react/javascript/inline-data
folder - VUE-3 New demo showing use of inline data for
Calendar
wrapper. Demo located inexamples/frameworks/vue-3/javascript/inline-data
folder
API CHANGES
- The
validateResponse
flag onCrudManager
has been changed to default totrue
. When enabled, it validatesCrudManager
responses from the backend and outputs a message on console if the format isn't valid. This is helpful during the development phase, but can be turned off in production - New Vue 2/3 wrapper config option
relayStoreEvents
(defaults tofalse
). When set totrue
, the events fired by stores are relayed to the Bryntum Grid instance - REACT New basic React demo with TypeScript. Demo located in
examples/frameworks/react/typescript/basic
folder - REACT React wrappers now include TypeScript definitions (#3378)
BUG FIXES
- #4127 – LWC
DomHelper.isInView()
throws - #4222 – LWC Performance degradation in 5.0 release
- #4316 –
DatePicker
'sevents : 'count'
option should sync with the current filtered state of theeventStore
- #4432 – LWC Mouse events do not work
- #4461 – Vue wrapper triggers doubled
dataChange
events with different params
Version 5.0.2
2022-04-13FEATURES / ENHANCEMENTS
- A new example (
megadataset
) has been added showcasing rapid view generation upon navigation through 100,000 event records ResourceFilter
inSidebar
should be configurable with custom selection (#2006)AgendaView
's time rendering is now configurable with aneventTimeRenderer
config (#4437)
BUG FIXES
- #3469 –
loadOnDemand
causes fetch loop when involving Scheduler - #4279 – Calendar Resource Filter works incorrectly after one of resources removed
- #4303 –
MonthView
autoRowHeight -> false
can result in incorrecteventsPerCell
count - #4307 – Order of data setting must be enforced when data set through
setConfig
- #4315 –
MonthView
doesn't refresh on prev/next click is it contains a cell for the new date - #4323 – Calendar features should tolerate being invoked upon non-Calendar views
- #4331 – Resource view items can sometimes disappear when filtering by resource
- #4353 – Resource avatar hidden while dragging
- #4406 – Fixed items in disabled
fieldset
/radiogroup
not being disabled - #4451 – Removing a resource causes crash in agenda mode
Version 5.0.1
2022-03-04FEATURES / ENHANCEMENTS
- The
Calendar
modeDefaults
config is now dynamic. Mutations applied to any of its properties made will immediately be applied to all child views. (#4268) - Add default "Duplicate Event" context menu item (#4271)
BUG FIXES
Version 5.0.0
2022-02-21We are thrilled to announce version 5.0 of our Calendar product. This release marks a big milestone for us, after more than a year of development. In this version we have greatly simplified how to combine Bryntum products, and we have made a new combination demo with the TaskBoard to show you how. The release also includes lots of improvements to the other demos as well as bug fixes and enhancements requested by our community. A big thanks to our customers who helped us with testing our alpha & beta versions
You are most welcome to join us on March 16th, at 9am PST (6pm CET) for a 5.0 walkthrough webinar, demonstrating all the shiny new features Click here to register
We hope you will enjoy this release and we are looking forward to hearing your feedback of what you would like us to develop next */ Mats Bryntse, CEO @Bryntum
FEATURES / ENHANCEMENTS
- New TaskBoard + Calendar integration demo
- The
EventList
calendar view which displays a grid-based view of theEventStore
now *merges* any configuredcolumns
with its defaultcolumns
by matching thefield
property. On display in thelistview
demo (#3500) - Each product has a new "thin" JavaScript bundle. The thin bundle only contains product specific code, letting you combine multiple Bryntum products without downloading the shared code multiple times (previously only possible with custom-built bundles from sources). Find out more in the What's new guide (#2805)
- Each theme is now available in a version that only has product specific CSS in it, called a
thin
version. These files are nameproduct.theme.thin.css
–calendar.stockholm.thin.css
for example. They are intended for using when you have multiple different bryntum products on the same page, to avoid including shared CSS multiple times Read more about it in theWhat's new
section in docs (#3276) Model
has a newreadOnly
field that is respected by UI level editing features to disallow editing records havingreadOnly : true
. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)- New
ProjectModel
setters/getters forassignments
,dependencies
,events
,resources
(#4043) window
references are replaced withglobalThis
which is supported in all modern browsers and across different JS environments (#4071)- A new function called
downloadTestCase()
was added to Bryntum widgets, it is intended to simplify creating test cases for reporting issues on Bryntum's support forum. Running it collects the current value for the configs your app is using, inlines the current dataset and compiles that into a JavaScript app that is then downloaded. The app will most likely require a fair amount of manual tweaking to reproduce the issue, but we are hoping it will simplify the process for you. Runcalender.downloadTestCase()
on the console in a demo to try it - Updated FontAwesome Free to version 6, which includes some new icons sponsored by Bryntum in the charts category: https://fontawesome.com/search?m=free&c=charts-diagrams&s=solid
API CHANGES
- BREAKING React wrappers now use the more modern module bundle by default, instead of the legacy umd bundle. Hence application imports must be changed to match. This will slightly improve application size and performance (#2787)
BUG FIXES
Version 4.3.9
2022-02-17FEATURES / ENHANCEMENTS
Calendar
now supportsminDate
andmaxDate
, meaning that temporal navigation may never place the start date of any view before theminDate
, and never place the end date of any view after themaxDate
- Views (and therefore an owning
Calendar
) now fire a preventablebeforeDateChange
event before temporal navigation so that date changes may be vetoed by application logic (#4057)
BUG FIXES
- #4125 – A tooltip and event editor shows different
endDate
for same event - #4160 – Sort day/week view events that start before midnight as starting at midnight for each intersecting day
- #4173 –
ResourceView
does not handle multi assignment - #4175 – Double border on far right side of resource view
- #4196 – Calendar Create event when Wednesday is a
nonWorkingDay
andhideNonWorkingDays
is true - #4197 – Crash when configuring resource filter with selectAllItem
- #4204 –
AgendaView
dateRangeChange
event doesn't fire whenCrudManager
isautoLoad : false
- #4217 – Calendar "select all Items" is not working if inline data used
Version 4.3.8
2022-02-07FEATURES / ENHANCEMENTS
- Short events get CSS class
b-short-event
added for special rendition. (#4106)
BUG FIXES
- #4099 –
Tooltip
doesn't handle reshowing on delegate change consistently - #4103 –
weekStartDay
is ignored when using Next/Previous week button in toolbar - #4111 – Drag from external event source doesn't work on touch devices
- #4112 – Timeaxis in resource view is missing after resourceStore sort
- #4114 – ResourceView child
allDayEvents
rows don't sync height on filter in/out
Version 4.3.7
2022-02-02BUG FIXES
- #2850 –
weekStart
not honored by date picker norAgendaView
- #4005 –
eventColor
for resource and event not applied on Month and Agenda views - #4010 – Menu icon in Agenda view is not round
- #4011 – All day text in Agenda view is not localized
- #4015 – Setting Calendar
readOnly
makes filter field in sidebar alsoreadOnly
- #4020 – Document event mouse events
- #4024 –
calculatePropagateEndDate
needs to be passed more context and be public - #4063 –
MonthView
autoRowHeight
causes recursiveloadOnDemand
reloading - #4065 –
CalendarRow
. WhenautoHeight
, data changes do not sync scrollbar presence - #4069 – Document schedule mouse events and the
eventAutoCreated
event - #4088 –
EventTooltip
'sactiveClient
can be set before it gets shown - #4089 – Click on an event bar in "other month" cell should not navigate to that month
Version 4.3.6
2022-01-13FEATURES / ENHANCEMENTS
DayView
andWeekView
have a new config,coreHours
which specifies the core working hours to show. (#3964)
BUG FIXES
- #3489 – Calendar styling issues
- #3942 – WeekView elements misaligned when day shifted and week crosses DST change boundary
- #3971 – MonthView dayCellRenderer result not used as HTML
- #3973 – Clicking overflow button and OverflowPopup on an "other month" cell changes month
- #3990 – Chrome & Content Security Policy causes failure because of debug code section
Version 4.3.5
2021-12-24FEATURES / ENHANCEMENTS
- Views which show OverflowPopups now allow the
overflowPopup
to be reconfigured to show customized content, to be configured with aneventRenderer
of the same type as their owning view, or to be configured away entirely (#3860)
BUG FIXES
- #3846 – Fix drag/drop issues in
DayView
whenshowAllDayHeader=false
- #3885 – DayView needs a
dayCellRenderer
config - #3892 – DayView does not lay out day-spanning events correctly when
showAllDayHeader
is false - #3893 – Resource view filtering should refresh child views
- #3896 – TypeScript Wrong typings of model class configs
- #3905 – AgendaView doesn't remove cells when a day becomes empty due to event deletion/filtering
- #3907 – TypeScript Cannot pass Scheduler instance to
Store.relayAll
- #3914 – Bug when EventEdit from EventTooltip used in DayView with
showAllDayHeader: false
- #3915 – MonthView layout overlays events when events span multiple weeks
- #3920 – Listeners for eventTooltip not applying if config notation used
- #3922 –
hideNonWorkingDays
in yearView generates an error if configured initially - #3924 – CalendarRow doesn't support
overflowClickAction
- #3928 – DateHelper
k
format behaves incorrectly - #3929 – YearView's overflow popup doesn't show event continuation arrows
- #3934 – Added
dayHeaderRenderer
to DayView to allow custom cay cell header inallDayEvents
Version 4.3.4
2021-12-13FEATURES / ENHANCEMENTS
- Calendar's
DayView
(and, by extension,WeekView
) now offers theshowAllDayHeader
config. This istrue
by default. Configure this asfalse
to *not* show all day and inter-day events spanning days in *header cells*, but to arrange them in the day detail part of the view, wrapping into as many columns as necessary (#3771) - Updated
filtering
Angular demo to use Angular 13 (#3742) - Added a config to hide eventTooltip header. Use
header : false
(#3828) - Added a new config to the
ResourceView
.stableResourceOrder
istrue
by default and means that the resource child views will always be in the same order as the resources in theresourceStore
. If set tofalse
, newly added (or filtered in) child views will be appended to the combined view - Calendar now supports the
overlaySidebar
config which means that the sidebar is collapsed and the collapse tool in the top toolbar toggles the sidebar between the collapsed state and an overlayed _revealed_ state. On small UIs such as phones, this mode is enabled by default - Added a new config for
DayCellRenderer
widgets (MonthView
andCalendarRow
)overflowButtonRenderer
which allows apps to customize the appearance of the "+n more" button (#3867)
BUG FIXES
- #3551 – Localize listRangeMenu in Agenda section
- #3621 – TypeScript Improve typings of mixins
- #3664 – Correct date in calendar title when switching modes in a
ResourceView
- #3769 –
ResourceView
child views should be in the same order as theResourceStore
- #3850 – TypeScript Missing static properties in typings
Version 4.3.3
2021-11-30FEATURES / ENHANCEMENTS
- Calendar modes now support a
syncViewDate
config. It istrue
by default. This means that a Calendar's modes have their date automatically synced with the Calendar's date. This may be set tofalse
to opt out - The
MonthView
now has anautoRowHeight
config which means that week rows assume the height of the events they contain. TheminRowHeight
config controls how small week rows may shrink and may be specified in any CSS units, but also *in events*. So if you useautoRowHeight
, you can specifyminRowHeight : '3ev'
which means empty weeks may shrink to the height equivalent to showing three event bars.
BUG FIXES
- #3505 – Bryntum Calendar Agenda View Decade Button not working
- #3629 – Some views may not be tied to the Calendar's date.
EventList
may not be required to "snap" - #3648 – DOCS Content navigation is broken
- #3672 –
ResourceView
gets itsstart
/end
date wrong - #3696 –
MonthView
WeekExpander
feature flips all other rows back to be flexed when expanding a row - #3697 –
MonthView
'sshrinkwrapWeekRow
(WeekExpander
feature) is static. Week does not expand if events are added - #3743 – DOCS
web.config
file for Windows IIS server
Version 4.3.2
2021-10-29FEATURES / ENHANCEMENTS
DayView
now supports thefitHours
config which sizes the hour cell heights to fit exactly within available height
BUG FIXES
- #2397 – Events are re-rendered during drag and now include a footer with event end time
- #2640 – Events can be dragged into and out of the
allDay
zone on the day and week views - #3585 – When using a
dayStartTime
inDayView
,CalendarDrag
gets the drop time wrong - #3586 – Fixed event drag (move) in an expanded week of a month view when using
weekExpander
feature - #3633 –
EventTooltip
feature needs to document it's currently active event record
Version 4.3.1
2021-10-21FEATURES / ENHANCEMENTS
- YearView now supports
dayCellRenderer
to add custom styling to its day cells, see updatedcustom-rendering
demo (#2485) - Bumped builtin Font Awesome Free to version 5.15.4
BUG FIXES
- #3526 – Fixed
EventList
inResourceView
crashes withhideNonWorkingDays
- #3538 – Calendar view do not show the time horizontal lines in angular 12 after initial load
- #3567 – Minified css bundle contains unicode chars
- #3574 – Fix recurrence editor handling of monthly pattern using "On the n'th of the month" ("first" was ignored, "second" was interpreted as "first", etc.)
Version 4.3.0
2021-10-12FEATURES / ENHANCEMENTS
- Calendar has a new
ResourceView
that encapsulates a series of calendar views, one for each resource/calendar on display in the newresourceview
demo (#2353, #3385) - IONIC Added Ionic framework integration demo. Demo located in
examples/frameworks/ionic/ionic-4
folder (#2622)
API CHANGES
- DEPRECATED Buttons
menuIconCls
config was deprecated in favor of the newmenuIcon
config, which better matches the naming of other configs
BUG FIXES
- #3513 – Time axis column not aligned with resource border
Version 4.2.7
2021-10-01FEATURES / ENHANCEMENTS
- When there are many "all day" events, and the all day row of a day or week view is expanded, the all day row now only grows to consume up to 50% of the Calendar's height (#3317)
BUG FIXES
- #1481 – Recurring events repeats endless after delete one of occurrences
- #3269 – Zero duration events are not displayed
- #3318 – Calendar mode's overflow popup can be misaligned when there are many overflowing events
- #3413 – Correct DST handling in monthly recurrence for n-th weekdays of a month
- #3417 – Missing icon for all day events
- #3456 – End after X time setting not applies for event with end on date setting
- #3458 – Document nested fields
- #3461 – Dragging from grid makes resource selector single select
Older versions
- Full release version history can be found here.