Calendar – Change Log

Version 5.5.3

2023-09-15

BUG FIXES

  • #4782 – React calendar issue when setting state
  • #7059beforeDragMoveEnd and beforeDragResizeEnd has not correct event ids
  • #7178dragMoveEnd listener in DayResourceView not having updated data

Version 5.5.2

2023-08-30

FEATURES / 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 by YearView's cell tooltip

BUG FIXES

  • #6993DatePicker doesn't trigger dateChange for grayed days when disableOtherMonthCells false
  • #7331 – Cannot set day and date in two separate statements
  • #7332 – Crash when double clicking calendar icon in dual-dayview demo

Version 5.5.1

2023-08-16

BUG FIXES

  • #7179beforeAutoCreate missing parameter in new DayResourceView
  • #7199timeFormat localization is ignored
  • #7224isCreating flag gets "stuck" if the edit is vetoed
  • #7256 – Incorrect number of events
  • #7260 – Event not rendered on overflowClickAction expand

Version 5.5.0

2023-07-31

This 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

  • #7221VUE Vue vite app doesn't compile with Bryntum vue wrappers
  • #7224isCreating flag gets "stuck" if the edit is vetoed

Version 5.4.2

2023-07-26

BUG FIXES

  • #4163 – Inconsistent undo/redo behavior in calendar demo
  • #6995VUE 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 in ResourceView day headers
  • #7169 – Events hidden behind other events when switching modes
  • #7185 – Event sort works incorrect in Month View
  • #7196autoCreate step not always propagated into TimeField step
  • #7208 – Calendar's active date not changing with Datepicker

Version 5.4.1

2023-07-13

FEATURES / 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

  • #6077TypeScript Model constructors should allow second param
  • #7085beforeEventEdit event should handle async handlers
  • #7106ExternalEventResource drag drop crashes if no resource on DayResourceView
  • #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-30

FEATURES / ENHANCEMENTS

  • Widget has a new config, maximizeOnMobile which takes effect only on floating 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 a slidetoggle 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 new date-resource example
  • The CalendarDrag feature now has a new config removeFromExternalStore. It defaults to true meaning that when an event is dropped on the Calendar from an outside event store, the record is removed from that store. If set to false, the record is *not* removed, and a __clone__ of the dragged record is inserted at the drop position.
  • The ExternalEventSource feature now allows a droppable property to be specified. If a grid is configured as the external UI, then dropping will Just Work. If the event source is just DOM elements, there are dragMoveExternal and dropExternal 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 and dayEndTime in API docs
  • #7003 – Set coreHours to the dayStart 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-28

BUG FIXES

  • #6981 – Applying german locale after init makes ResourceView show wrong week

Version 5.3.7

2023-06-20

FEATURES / 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 a DayView and the selected days events center point will, when converted to a different time zone, be changed to a different day
  • The DayView methods zoomTo and zoomBy now return a Promise 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 to timeZone
  • #6871overflowPopup : null should make YearView switch to DayView in Calendar
  • #6872FilterField should tolerate its field value being null/undefined
  • #6880WeekView's all day row horizontal scroll may become out of sync if no all day events exist and the minDayWidth is set to cause horizontal overflow.
  • #6973 – Calendar editEvent(eventRecord) crashes without startDate and endDate

Version 5.3.6

2023-05-26

API 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 an iconCls may now show the default circular "bullet" icon before the text. To enable this, configure that mode (or the Calendar's modeDefaults) with showBullet : { bar : true }
  • The durationUnit used in the new record when drag-creating events now matches the unit specified in the dragUnit property of the active view. The defaults have not changed, so in a DayView, the duration of drag-created events will be in hours and in all other views, (including the all day CalendarRow in a DayView) in days (#6798)
  • The EventTooltip feature may now be configured with revealEventsInCluster : 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 and WeekView may now be configured with how to snap an autoCreate pointer date to an autoCreate.step point. The autoCreate.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
  • #6779MonthView events bars not conforming to eventColor renderer values.
  • #6781 – Remove erroneous dayCellRenderer docs from AgendaView
  • #6828CalendarDrag should not create an AllDayZone if the allDayEvents widget has been configured away

Version 5.3.5

2023-05-11

FEATURES / ENHANCEMENTS

  • The ResourceFilter widget may now be configured to also filter the resourceStore by configuring filterResources as true (#6698)
  • DayView and WeekView event renderers now accept a bodyColor property to the renderData which specifies the background color of the body part of the event block (#6690)
  • The EventStore setting removeUnassignedEvent now defaults to false 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
  • #6701IONIC Scrollbar width could not be determined under Ionic framework
  • #6702 – Setting EventList listRangeItems item to null causes error
  • #6705 – Crash in shifted demo
  • #6708showEvents : 'count' in YearView doesn't work
  • #6714 – When DayView has daySelector : true, the time axis is not accounted for
  • #6733 – Crash if calendar sidebar is destroyed while loading
  • #6744DayView allDayEvents should be able to be configured as expanded

Version 5.3.4

2023-04-28

BUG FIXES

  • #4631eventDrag not working well if data mapping used for start/end dates
  • #6588ListView 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
  • #6633PickerField 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-21

FEATURES / 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 an eventFilter 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 in examples/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
  • #6583YearView doesn't render recurring events which are allDay
  • #6612 – Duplicate tooltip renderer called
  • #6614 – + n more count incorrect when overflowing events start below the bottom of the cell
  • #6622DayView does not change date on header click

Version 5.3.2

2023-04-04

FEATURES / ENHANCEMENTS

  • Elements rendered by the TaskNonWorkingTime feature elements now trigger taskNonWorkingTimeClick, taskNonWorkingTimeDblClick and taskNonWorkingTimeContextMenu 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

  • #6395ANGULAR Cannot use StateProvider with a production build
  • #6417schedule<DomEvent> events do not bubble out of ResourceView 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
  • #6514ScheduleMenu not working inside Scheduler mode
  • #6515 – Clicking EventList row for event who's startDate is before visible range changes visible range

Version 5.3.1

2023-03-17

API 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

  • #6351 – Components do not render into containers not already in DOM
  • #6368MonthView event sorter gets order wrong

Version 5.3.0

2023-03-02

FEATURES / 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 new timeranges demo (#5113)
  • AjaxHelper.fetch now supports using request body to pass parameters for non-GET requests. Please check addQueryParamsToBody 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 a ResourceView which have matching resource ids (#5835)
  • DayView and WeekView have a new sixMinuteTicks 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 as Record<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's datePicker may now show more than 4 dots when showEvents is 'dots' by setting the maxDots config on the year mode or the datePicker config. Note that increasing this value may produce a cluttered UI (#6238)
  • YearView and the Calendar's datePicker may now be configured with eventCountTip : 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 and LocaleManager.extendLocale are deprecated. LocaleHelper.publishLocale should be used instead.
  • DayView's hourHeightBreakpoints 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

  • #4764 – Calendar multiEventSelect not working
  • #5988 – Calendar timezone demo UTC time incorrect
  • #6225 – Calendar collapses and expands event on each subsequent click or double click
  • #6255EventTooltip Placement Issue for Overlapping Events

Version 5.2.10

2023-02-17

FEATURES / 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 include AM/PM. Those browsers now use "thin space" (\u202f) instead of regular space. This affects the DateHelper.format() function, but likely you do not need to take any action in your application. It also affects DateHelper.parse(), which has been updated to support the new unicode space (#6193)

BUG FIXES

  • #5791EventHelper's listeners for .b-using-keyboard break iOS dragging
  • #6177EventSelection's isEventSelectable not called by Calendar's EventSelection mixin

Version 5.2.9

2023-01-30

FEATURES / ENHANCEMENTS

  • The event editor of the EventEdit feature may be reconfigured to not be a popup by configuring the editorConfig with floating : false or by adding an appendTo config. In this situation, the editor is displayed as a side-docked overlay. See the new docked-editor example. (#5873)

BUG FIXES

  • #6019TypeScript Feature classes and configs have on event handlers exposed on owner class

Version 5.2.8

2023-01-19

BUG FIXES

  • #5918DatePicker's month field does not update when locale changed at init time
  • #5934 – Agenda view shows events in wrong year
  • #5962 – Day zoom demo slider shows value with decimals when devicePixelRatio is not 1

Version 5.2.7

2023-01-11

FEATURES / ENHANCEMENTS

  • Internal code improvements and bugfixes

Version 5.2.6

2022-12-28

FEATURES / ENHANCEMENTS

  • REACT React wrapper now supports React components in widgets and tooltips (#774)

BUG FIXES

  • #5789 – Determining whether an event is interDay must consult the view's dayTime to handle shifted days
  • #5821constrainTo not applied unless component is shown using alignTo
  • #5827 – Error when navigating to view with event starting on hidden non working day

Version 5.2.5

2022-12-16

FEATURES / ENHANCEMENTS

  • ListView now offers a resourceColumn in which is displayed a read-only ChipView 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. A changed 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.
  • #4530loadOnDemand with sidebar date picker using showEvents : 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
  • #5763loadOnDemand feature needs refresh method
  • #5780 – ICS export datetime stamp is not UTC

Version 5.2.4

2022-11-28

FEATURES / 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

  • #2125 – Recurrence edit confirmation should not be displayed when drag creating a recurring event
  • #4220 – Fixed calendar drag create in day/week view on DST days.
  • #5595 – Fix panel collapse icon directions
  • #5606 – Calendar events duplicated in UI when events start date is changed.

Version 5.2.3

2022-11-17

BUG FIXES

  • #5051 – Field does not show its invalid state unless it is hovered
  • #5533DayViewDragZone moves proxy element in the wrong direction in RTL mode

Version 5.2.2

2022-11-08

FEATURES / ENHANCEMENTS

  • In DayViews, events with a duration such that relative to the hourHeight, the element is too small to contain wrapped text will automatically change to a compact rendition. If the hourHeight changes (such as by zooming), the rendition will be corrected as appropriate (#1948)
  • DayView now has a currentTimeIndicatorRenderer which allows a customized current time indicator to be used (#4972)
  • The emptyText config of the agenda 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
  • #5495AgendaColumn needs to be autoHeight if using a custom eventRenderer
  • #5528dayNumberClick and monthNameClick events are not firing for specific modes
  • #5536allDayEvents : null in DayView children of resourceView leaves all day rows in the timeaxes

Version 5.2.1

2022-10-28

FEATURES / ENHANCEMENTS

  • DatePicker now fully supports two modes of multiSelect. Setting it to true 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 to Calendar with default value of false. 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 including OverflowPopup
  • #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-13

FEATURES / 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 a Core.widget.ButtonGroup on its toolbar
  • The ModeSelector supports a popup mode which, when popup: 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 new responsive 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 a descriptionRenderer is provided, it takes precedence over the descriptionFormat
  • 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 the Responsive mixin now support a once property to allow configs to only be set on first activation of the state
  • The Core.helper.DateHelper class has a new method formatRange method which can format date ranges, as well as new formatting options for week numbers
  • A new config, emptyCellRenderer allows MonthView and CalendarRow (The all day row in a DayView or WeekView) to display a clickable button in cells which contain no events. There is a new emptyCellClick event. (#4413)

Version 5.1.5

2022-10-12

FEATURES / ENHANCEMENTS

  • DatePicker now fully supports two modes of multiSelect. Setting it to true 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 generated id is meant to be temporary (a phantom id), and should be replaced by the backend on commit. Previously the id was based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the same id during a session, but if an application serialized the generated id (note, they should not) and then reloaded it, it would eventually collide with a new generated id. To prevent this, the generated ids are now based on a random UUID instead
  • Stores now by default show a warning on console when loading records that has generated ids, 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"
  • #4654REACT 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
  • #5333syncCurrentTimeIndicator 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 as null
  • #5370EventEditor resourceField store cannot be reconfigured

Version 5.1.4

2022-09-29

FEATURES / ENHANCEMENTS

  • The showEvents config of Calendar's sidebar DatePicker and Calendar's YearView may now be 'dots' to show events as a series of event-coloured dots. Maximum of three in YearView and four in DatePicker. (#5234)

API CHANGES

  • DEPRECATED The events config of the sidebar DatePicker has been renamed to showEvents. The events property is deprecated but will continue to work during its deprecation period

BUG FIXES

  • #5164 – Calendar listview doesn't respect columns order when rendering
  • #5311 – Enable app to change load parameters sent by loadOnDemand feature
  • #5313 – Multiday event not displaying if hideNonWorkingDays is true

Version 5.1.3

2022-09-09

BUG 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 in ResourceView throw errors, or silently fail

Version 5.1.2

2022-08-29

FEATURES / 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 to Partial<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 to AgendaView which, when set to false, 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
  • #4769EventTooltip tools which are not active are hidden (For example if Calendar is readOnly)
  • #4781 – Calendar events are not being displayed correctly when ending at midnight
  • #4793 – Wrong sidebar styling for classic theme in calendar demos
  • #4897ResourceFilter should continue to filter when its own Store is filtered
  • #4988scheduleMenu doesn't catch resourceRecord correctly in scheduler timeline mode
  • #5007zoomOnMousewheel zooming has to be synced between multiple DayViews in ResourceView
  • #5017TypeScript Property type is missing in DataFieldConfig
  • #5018Vue Prop Validation fails for String options
  • #5024eventRenderer renderData object needs an iconStyle 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
  • #5120EventTip throws error when shown on contextmenu

Version 5.1.1

2022-07-28

BUG FIXES

  • #4904eventsPerCell not recalculated on month change when sixWeeks is false
  • #4951timeFormat doesn't work in resourceView
  • #4958 – List store reload needs to reset selection if no incoming records match previous selection

Version 5.1.0

2022-07-21

FEATURES / ENHANCEMENTS

  • The new config eventListTimeFormat is available for views which extend EventList (EventList and AgendaView). 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 as dock: string is now dock : '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 and syncUrl 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 to Widget and therefore available to all Widget'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 is calendar.wc.module.js

BUG FIXES

  • #3554 – Prevent navigating when clicking "other month" day cells in month view
  • #4696 – Parents sorted below children in docs
  • #4697 – Too dark code background in docs
  • #4941 – Calendar doesn't propagate dynamic readOnly setting to child views

Version 5.0.7

2022-07-13

BUG FIXES

  • #4610 – Make calendar.assignments public
  • #4856OverflowPopup disappears when right click one of its items
  • #4857OverflowZone's drag proxy only required if owner.isYearView
  • #4864MonthView resize event using left edge leaves the event name rendered at the old position
  • #4895LWC DragCreate in all day header throws
  • #4916Fullscreen is not working on mobile Safari

Version 5.0.6

2022-06-20

BUG FIXES

  • #4597 – Calendar autoCreate.startHour cannot be fractional
  • #4808 – Typings are wrong for async functions

Version 5.0.5

2022-05-30

FEATURES / ENHANCEMENTS

  • New Angular demo that shows how to drag events from an unplanned event grid to calendar (Partial fix of #4587)

BUG FIXES

  • #4350 – Fixed various panel and calendar sidebar collapse issues
  • #4607VUE Incorrect prop types in Vue wrapper

Version 5.0.4

2022-05-11

BUG 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
  • #4562REACT React wrappers have incorrect source mapping urls

Version 5.0.3

2022-04-26

FEATURES / ENHANCEMENTS

  • WRAPPERS ProjectModel wrapper component reference can now be used as project 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 in examples/frameworks/angular/inline-data folder
  • REACT New demo showing use of inline data and ProjectModel wrapper. Demo located in examples/frameworks/react/javascript/inline-data folder
  • VUE-3 New demo showing use of inline data for Calendar wrapper. Demo located in examples/frameworks/vue-3/javascript/inline-data folder

API CHANGES

  • The validateResponse flag on CrudManager has been changed to default to true. When enabled, it validates CrudManager 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 to false). When set to true, 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

  • #4127LWC DomHelper.isInView() throws
  • #4222LWC Performance degradation in 5.0 release
  • #4316DatePicker's events : 'count' option should sync with the current filtered state of the eventStore
  • #4432LWC Mouse events do not work
  • #4461Vue wrapper triggers doubled dataChange events with different params

Version 5.0.2

2022-04-13

FEATURES / ENHANCEMENTS

  • A new example (megadataset) has been added showcasing rapid view generation upon navigation through 100,000 event records
  • ResourceFilter in Sidebar should be configurable with custom selection (#2006)
  • AgendaView's time rendering is now configurable with an eventTimeRenderer config (#4437)

BUG FIXES

  • #3469loadOnDemand causes fetch loop when involving Scheduler
  • #4279 – Calendar Resource Filter works incorrectly after one of resources removed
  • #4303MonthView autoRowHeight -> false can result in incorrect eventsPerCell count
  • #4307 – Order of data setting must be enforced when data set through setConfig
  • #4315MonthView 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-04

FEATURES / 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

  • #4186 – Wrong docs in Angular integration guide
  • #4212 – Error thrown when event is updated in a non-painted scheduler (re-fix)
  • #4261 – Crash after changing start date of a recurring event in calendar-scheduler demo
  • #4284 – Drag external event to certain resource

Version 5.0.0

2022-02-21

We 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 the EventStore now *merges* any configured columns with its default columns by matching the field property. On display in the listview 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 name product.theme.thin.csscalendar.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 the What's new section in docs (#3276)
  • Model has a new readOnly field that is respected by UI level editing features to disallow editing records having readOnly : true. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)
  • New ProjectModel setters/getters for assignments, dependencies, events, resources (#4043)
  • window references are replaced with globalThis 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. Run calender.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

  • #3140 – Possibility calendar entries side by side (when there is enough space)
  • #4223 – ResourceView example. minWidth setting not applied to filtered out views
  • #4231 – Fix day view sort by duration for interday events

Version 4.3.9

2022-02-17

FEATURES / ENHANCEMENTS

  • Calendar now supports minDate and maxDate, meaning that temporal navigation may never place the start date of any view before the minDate, and never place the end date of any view after the maxDate
  • Views (and therefore an owning Calendar) now fire a preventable beforeDateChange 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
  • #4173ResourceView does not handle multi assignment
  • #4175 – Double border on far right side of resource view
  • #4196 – Calendar Create event when Wednesday is a nonWorkingDay and hideNonWorkingDays is true
  • #4197 – Crash when configuring resource filter with selectAllItem
  • #4204AgendaView dateRangeChange event doesn't fire when CrudManager is autoLoad : false
  • #4217 – Calendar "select all Items" is not working if inline data used

Version 4.3.8

2022-02-07

FEATURES / ENHANCEMENTS

  • Short events get CSS class b-short-event added for special rendition. (#4106)

BUG FIXES

  • #4099Tooltip doesn't handle reshowing on delegate change consistently
  • #4103weekStartDay 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-02

BUG FIXES

  • #2850weekStart not honored by date picker nor AgendaView
  • #4005eventColor 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 also readOnly
  • #4020 – Document event mouse events
  • #4024calculatePropagateEndDate needs to be passed more context and be public
  • #4063MonthView autoRowHeight causes recursive loadOnDemand reloading
  • #4065CalendarRow. When autoHeight, data changes do not sync scrollbar presence
  • #4069 – Document schedule mouse events and the eventAutoCreated event
  • #4088EventTooltip's activeClient 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-13

FEATURES / ENHANCEMENTS

  • DayView and WeekView 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-24

FEATURES / ENHANCEMENTS

  • Views which show OverflowPopups now allow the overflowPopup to be reconfigured to show customized content, to be configured with an eventRenderer of the same type as their owning view, or to be configured away entirely (#3860)

BUG FIXES

  • #3846 – Fix drag/drop issues in DayView when showAllDayHeader=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
  • #3896TypeScript Wrong typings of model class configs
  • #3905 – AgendaView doesn't remove cells when a day becomes empty due to event deletion/filtering
  • #3907TypeScript 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
  • #3922hideNonWorkingDays 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 in allDayEvents

Version 4.3.4

2021-12-13

FEATURES / ENHANCEMENTS

  • Calendar's DayView (and, by extension, WeekView) now offers the showAllDayHeader config. This is true by default. Configure this as false 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 is true by default and means that the resource child views will always be in the same order as the resources in the resourceStore. If set to false, 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 and CalendarRow) overflowButtonRenderer which allows apps to customize the appearance of the "+n more" button (#3867)

BUG FIXES

  • #3551 – Localize listRangeMenu in Agenda section
  • #3621TypeScript Improve typings of mixins
  • #3664 – Correct date in calendar title when switching modes in a ResourceView
  • #3769ResourceView child views should be in the same order as the ResourceStore
  • #3850TypeScript Missing static properties in typings

Version 4.3.3

2021-11-30

FEATURES / ENHANCEMENTS

  • Calendar modes now support a syncViewDate config. It is true by default. This means that a Calendar's modes have their date automatically synced with the Calendar's date. This may be set to false to opt out
  • The MonthView now has an autoRowHeight config which means that week rows assume the height of the events they contain. The minRowHeight config controls how small week rows may shrink and may be specified in any CSS units, but also *in events*. So if you use autoRowHeight, you can specify minRowHeight : '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"
  • #3648DOCS Content navigation is broken
  • #3672ResourceView gets its start/end date wrong
  • #3696MonthView WeekExpander feature flips all other rows back to be flexed when expanding a row
  • #3697MonthView's shrinkwrapWeekRow (WeekExpander feature) is static. Week does not expand if events are added
  • #3743DOCS web.config file for Windows IIS server

Version 4.3.2

2021-10-29

FEATURES / ENHANCEMENTS

  • DayView now supports the fitHours 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 in DayView, CalendarDrag gets the drop time wrong
  • #3586 – Fixed event drag (move) in an expanded week of a month view when using weekExpander feature
  • #3633EventTooltip feature needs to document it's currently active event record

Version 4.3.1

2021-10-21

FEATURES / ENHANCEMENTS

  • YearView now supports dayCellRenderer to add custom styling to its day cells, see updated custom-rendering demo (#2485)
  • Bumped builtin Font Awesome Free to version 5.15.4

BUG FIXES

  • #3526 – Fixed EventList in ResourceView crashes with hideNonWorkingDays
  • #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-12

FEATURES / ENHANCEMENTS

  • Calendar has a new ResourceView that encapsulates a series of calendar views, one for each resource/calendar on display in the new resourceview 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 new menuIcon 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-01

FEATURES / 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.