Calendar – Change Log

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

Version 4.2.6

2021-09-15

BUG FIXES

  • #3408 – Updated typings to support spread operator for parameters
  • #3409 – Missing icon Intraday events in Month and Agenda view

Version 4.2.5

2021-09-08

FEATURES / ENHANCEMENTS

  • When using a Scheduler as a mode in Calendar (as in the calendar-scheduler demo) there are now two new useful configs, range and stepUnit. 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 or Date but always outputs a Date (#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

  • #3322 – Add dataChange event to framework guides
  • #3408 – Updated typings to support spread operator for method parameters

Version 4.2.4

2021-08-27

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

  • #3265 – Docs are not scrolled to the referenced member
  • #3294 – List should update its selection prior to firing its item event
  • #3305 – Guides look bad in the docs search results
  • #3306 – Doc browser does not scroll to member

Version 4.2.3

2021-08-05

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

  • #1795 – Add configs to show event startTime + endTime optionally (partial: startTime is optional)
  • #2395 – Document showTime / timeFormat in CalendarMixin
  • #3239showTime: false on Calendar WeekView throws + make showTime public

Version 4.2.2

2021-07-21

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

FEATURES / ENHANCEMENTS

  • FRAMEWORKS Added dragFeature and externalEventSourceFeature to frameworks wrappers (#3135)

BUG FIXES

  • #3136NPM Running npm install twice creates modified package-lock.json file
  • #3139 – Support on and un methods for eventTooltip feature instance

Version 4.2.0

2021-06-30

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

  • #1185 – Calendar should auto-scroll as you drag an event close to edges
  • #3086 – Day/WeekView now update correctly on changing dayStartShift

Version 4.1.6

2021-06-23

BUG FIXES

  • #3004 – New calendar event added does not sync its assignment when using multi-assignment
  • #3005VUE-3 Problem with Critical Paths due to Vue Proxy and double native events firing bug
  • #3013 – Card layout causes overflow during card change
  • #3026VUE-2 and VUE-3 typescript type declarations are missing
  • #3027 – Can't create event when using filter

Version 4.1.5

2021-06-09

FEATURES / 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
  • #2990ANGULAR Preventable async events don't work
  • #2994 – Cannot configure defaultCalendar on Calendar instance

Version 4.1.4

2021-05-28

FEATURES / ENHANCEMENTS

  • TypeScript definitions updated to use typed Partial<> parameters where available
  • Calendar now fires preventable beforeDragMoveEnd, beforeDragResizeEnd and beforeDragCreateEnd. Each of these events can be prevented by returning false or a Promise yielding false (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-13

FEATURES / 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 to chrome: 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-27

FEATURES / ENHANCEMENTS

  • Internal code improvements and bugfixes

Version 4.1.1

2021-04-23

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

FEATURES / 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 in examples/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 and StringHelper.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 be day, 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, and shiftToNow 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

Version 4.0.8

2021-01-27

Internal code improvements and bugfixes

Version 4.0.7

2021-01-12

BUG FIXES

  • #2106 – Add tools to tooltip demo to show interaction with the hovered event

Version 4.0.6

2020-12-29

FEATURES / ENHANCEMENTS

  • The Custom event editor example has been enhanced to illustrate how to make the provided editor widgets match conform with a theme. Guides on how to customize the event editor have been improved. (#2000)

BUG FIXES

  • #1421 – Week start day and number are not updated on locale change
  • #2017 – DayView and WeekView timeline time format and Event time format is not localized dynamically
  • #2108 – Update of recurrent event occurrence specifying "All future events" when the occurrence is limited by a COUNT value resulted in the COUNT being applied from the modified date, so too many occurrences were created
  • #2113 – Event width is preserved when dragging event in the calendar
  • #2149 – Unable to filter multi assigned task

Version 4.0.5

2020-12-15

FEATURES / ENHANCEMENTS

  • Two new Calendar features have been added, EventMenu which offers a context menu for right-click on events, and ScheduleMenu for right-click on empty areas of a calendar. These work in the same way as the Scheduler's features by the same name. (#1274)

BUG FIXES

  • #2105 – Crash when switching to single day view from any other calendar view

Version 4.0.4

2020-12-09

API CHANGES

  • The following params of DayCellRenderer#dayCellRenderer and AgendaView#dayCellRenderer were made private: key, day, visibleColumnIndex, isOtherMonth, visible, tomorrow, isRowStart, isRowEnd, renderedEvents

FEATURES / ENHANCEMENTS

  • A new Calendar Feature, ExternalEventSource makes it extremely easy to drag in events to "import" them in to a Calendar instance. (#1683)

BUG FIXES

  • #1812 – Make tables look better in docs
  • #1898 – Custom event renderer doesn't work properly for AgendaView
  • #1977 – Fields added to a default layout Container are stretched along the main axis
  • #1991 – Sidebar Customization example throws JS error when "Create Event" clicked when YearView is active

Older versions

  • Full release version history can be found here.