Calendar – Change Log
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
Version 4.2.6
2021-09-15BUG FIXES
Version 4.2.5
2021-09-08FEATURES / ENHANCEMENTS
- When using a Scheduler as a mode in Calendar (as in the calendar-scheduler demo) there are now two new useful configs,
range
andstepUnit
. They let you configure how much time the time axis spans and how large steps to take when clicking the previous/next buttons on the toolbar. Another enhancement for the same combination is that clicking a date in the mini calendar in the sidebar now scrolls that date into view (#3328) - ProjectModel now fires a
dataReady
event when the engine has finished its calculations and the result has been written back to the records (#2019) - The API documentation now better communicates when a field or property accepts multiple input types but uses a single
type for output. For example date fields on models, which usually accepts a
String
orDate
but always outputs aDate
(#2933) - New
examples/frameworks/webpack
demo added which shows how build a Calendar bundle from sources with Webpack Available for licensed Calendar version which includes sources
BUG FIXES
Version 4.2.4
2021-08-27FEATURES / ENHANCEMENTS
- Previous versions of Calendar used a bottom border on events to create a fake gap between them in day and week views
With this release there is now an actual gap between events instead, whose size is determined using the
eventSpacing
config of the DayView (#2613)
BUG FIXES
Version 4.2.3
2021-08-05FEATURES / ENHANCEMENTS
- NPM Bryntum Npm server now supports remote private repository access for Artifactory with username and password authentication (#2864)
- TYPINGS Type definitions now contain typed
features
configs and properties (#2740)
BUG FIXES
Version 4.2.2
2021-07-21FEATURES / ENHANCEMENTS
- You can now distinguish new events being created using drag create (or double clicking in the schedule) by checking the Model#isCreating flag. In the DOM, a new CSS class b-sch-creating has been added to all events that are being created
- NPM Bryntum Npm server now supports
npm token
command for managing access tokens for CI/CD (#2703)
BUG FIXES
- #3039 – Fixed incorrect
dragcancel
firing when only a click (and no drag) occurred - #3162 – LoadOnDemand feature cannot be disabled in runtime
- #3167 – LWC bundle is missing from trial packages
- #3178 – Syntax highlighter messes up code snippets in docs
- #3185 – Add CSS class to indicate that an event is being created
Version 4.2.1
2021-07-07FEATURES / ENHANCEMENTS
- FRAMEWORKS Added
dragFeature
andexternalEventSourceFeature
to frameworks wrappers (#3135)
BUG FIXES
Version 4.2.0
2021-06-30FEATURES / ENHANCEMENTS
- New config for day/week views (
dayStartShift
) to allow day columns to start their 24-hour period at a specified time other than midnight. This differs fromdayStartTime
which only controls the first time to render - Added "Upgrade Font Awesome icons to Pro version" guide
- Added "Replacing Font Awesome with Material Icons" guide
- Improved day view layout and added new configs to address layout issues with many overlapping events. (#2409)
- For more details, see What's new in docs
BUG FIXES
Version 4.1.6
2021-06-23BUG FIXES
- #3004 – New calendar event added does not sync its assignment when using multi-assignment
- #3005 – VUE-3 Problem with Critical Paths due to Vue Proxy and double native events firing bug
- #3013 – Card layout causes overflow during card change
- #3026 – VUE-2 and VUE-3 typescript type declarations are missing
- #3027 – Can't create event when using filter
Version 4.1.5
2021-06-09FEATURES / ENHANCEMENTS
- TYPINGS API singleton classes are correctly exported to typings (#2752)
BUG FIXES
- #2943 – Agenda view should not scroll after clicking event
- #2958 – Weekly Repeat event editor doesn't fit day names
- #2959 – TypeError: Cannot read property 'focus' of null on event edit in Year view
- #2961 – Recurring event rule is not working correctly for Week/Day view
- #2972 – Cancelling a newly created event in event editor should not trigger sync
- #2978 – Fixed focus/scroll reverting to previously resized event
- #2990 – ANGULAR Preventable async events don't work
- #2994 – Cannot configure defaultCalendar on Calendar instance
Version 4.1.4
2021-05-28FEATURES / ENHANCEMENTS
- TypeScript definitions updated to use typed
Partial<>
parameters where available - Calendar now fires preventable
beforeDragMoveEnd
,beforeDragResizeEnd
andbeforeDragCreateEnd
. Each of these events can be prevented by returningfalse
or a Promise yieldingfalse
(async confirmation) - New demo
confirmation-dialogs
showing how to do asynchronous confirmation of drag drop, resize and drag create actions - Buttons now has a new style
b-transparent
that renders them without background or borders (#2853) - NPM repository package
@bryntum/calendar
now includes source code (#2723) - NPM repository package
@bryntum/calendar
now includes minified versions of bundles (#2842) - FRAMEWORKS Frameworks demos packages dependencies updated to support Node v12
API CHANGES
- Resource field in EventEditor is no longer
required
by default
BUG FIXES
- #2699 – First day of week is incorrect
- #2781 – Remove leading 0 in hour for US English locale
- #2828 – Memory leak when replacing project instance
- #2834 – Core should not use b-fa for icon prefix
- #2892 – MonthView eventHeight cannot use string based values (eg '2em')
- #2894 – Cannot assign multiple resources when creating new event
- #2896 – Event Adds Without Event Editor Prompt if month cell has many events
- #2897 – Crash when double clicking to create a new event
- #2902 – Overflowing events popup doesn't look good with a lot of content
- #2903 – Event Edit modal closes on iPhone when user taps "Done" on the keyboard
Version 4.1.3
2021-05-13FEATURES / ENHANCEMENTS
- Bumped the built-in version of FontAwesome Free to 5.15.3 and added missing imports to allow stacked icons etc
- Bumped the
@babel/preset-env
config target tochrome: 75
for the UMD and Module bundles. This decreased bundle sizes and improved performance for modern browsers - Updated Angular Wrappers to be compatible with Angular 6-7 in production mode for target
es2015
BUG FIXES
- #2778 – Wrong module declaration in typings file
- #2780 – Changing dayStartTime / dayEndTime on the fly is not working
- #2820 – Loading SchedulerPro styles to a Calendar demo breaks it
- #2844 – Calendar scrollbar flicker on initial animation
- #2851 – Event tap doesn't work show event tooltip on touch devices
- Fixes #2821 – Cannot drag create an event in a calendar
- Fixes #2848 – Newly created event syncs before editor is shown
Version 4.1.2
2021-04-27FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
Version 4.1.1
2021-04-23FEATURES / ENHANCEMENTS
- Added Lightning Web Component integration guide (#2623)
- New demo 'fit-hours' showing how to fit the week view timeline to available vertical space
- Updated 'visible-hours' demo with a number field which lets you configure the snap increment
- Scheduler / Gantt / Calendar will now react when CTRL-Z key to undo / redo recent changes made. Behavior can be
controlled with the new
enableUndoRedoKeys
config (#2532)
BUG FIXES
- #1629 – Calendar React Filtering demo styling
- #1987 – DOCS: React guide needs a section on how to listen for events
- #2601 – Drag proxy misplaced in all day bar
- #2602 – List view demo broken
- #2603 – Add opacity to original element while drag drop is ongoing
- #2611 – Drag move and drag resize operations now properly restore focus to the dragged event
- #2619 – Dragging non-allDay event in all day zone is offset incorrectly
- #2679 – on-owner events should be added to owner too in docs
- #2681 – Yarn. Package trial alias can not be installed
- #2719 – New event won't sync after drag creation
- #2725 – Calendar styles are broken when scheduler stylesheet is loaded on the same page
Version 4.1.0
2021-04-02FEATURES / ENHANCEMENTS
- We are happy to announce that Bryntum Calendar now can be directly installed using our npm registry
We've updated all our frameworks demos to use
@bryntum
npm packages. See them inexamples/frameworks
folder Please refer to "Npm packages" guide in docs for registry login and usage information - Bryntum demos were updated with XSS protection code.
StringHelper.encodeHtml
andStringHelper.xss
functions were used for this - The calendar now defaults to show current date if no
date
config is provided - Added new React 17 demo for configuring visible hours in Calendar. The example also implements theme switching (#1823 and #2213)
- A new Calendar mode,
list
is now available which shows events as a Grid in a fixed range around the Calendar's current date. Range may beday
,week
,month
,year
,decade
. The default range is'month'
(#2034) - The Agenda mode now extends the
list
view and offers a settings button to change the range size (#1875) - Added
shiftNext
,shiftPrevious
, andshiftToNow
methods to Calendar to navigate in Calendar views (#2343) - Added new Vue 3 Basic demo to show how to use Bryntum Calendar in Vue 3 (#1315)
- Added new Calendar + Scheduler demo (#1578)
- Added support for
overflowClickAction : 'shrinkwrap'
which makes a click on a+n more
indicator expand that week row to show all events in the week. The MonthView may then scroll vertically to show all week rows because this may make it overflow its available height. New API and event support. (#1165) - Added a new Feature
weekExpander
which offers a UI to expand MonthView week rows which contain overflowing cells - A new feature,
print
allows the current active view to be printed. (#1595)
API CHANGES
- BREAKING Removed RequireJS demos and integration guides in favor of using modern ES6 Modules technology (#1963)
- BREAKING
init
method is no longer required in Lightning Web Components and was removed from the LWC bundle - The drag create feature no longer shows a tooltip by default during dragging (#2394). See upgrade guide for details
BUG FIXES
- #1452 – All day event duration is not shown in the tooltip
- #1794 – Cannot toggle calendar modes in readonly mode
- #2023 – Calendar should not sync to the store when create a new event before the event is saved in Event Editor
- #2211 – Add test coverage for XSS
- #2312 – Wrong dragFeature name in wrappers
- #2340 – Saving events when resource field is disabled resets assigned resource
- #2355 – Multicombo box css is disturbed if it's not editable
- #2359 – Update readme files in all framework demos in all products
- #2379 – Add minified version of *.lite.umd.js to the bundle
- #2399 – sync triggered after loading initial data
- #2400 – Sync failure messages displayed in
syncMask
where not auto-closing - #2405 – Corrected event position when moving or resizing an event that overlaps other events
- #2416 – Crash when beforeEventEdit returns false
- #2439 – Drag and drop selects text in Safari
- #2445 – Calendar year view should have white background
- #2454 – Editor stays opened in ListView demo
- #2457 – All day events with a picture look bad in Custom rendering demo
Older versions
- Full release version history can be found here.