Bryntum Calendar version history
7.3.x - Unreleased
FEATURES / ENHANCEMENTS
- Calendar now has
highlightEvents()andunhighlightEvents()methods, matching the existing API in Scheduler and Gantt. Highlighted events remain fully opaque while non-highlighted events fade to 20% opacity. Highlighting survives view switches and date navigation. - The Calendar AI feature now uses the new
highlightEvents()API instead of event selection when highlighting events referenced in AI responses. - New AI agent
askUsertool presents clickable options when a decision is needed before proceeding - New AI agent
createPlanandcompletePlanStepstools break multi-step requests into a tracked plan - AI confirmation dialogs now render inline within the chat panel instead of as floating modal popups
- AI tool responses now use a structured
AIToolCallResultformat - The AI chat panel stop button now interrupts read-aloud playback
- New
stopAudioOnHideconfig on the AI feature stops recording and audio playback when the chat panel is hidden - The
autoRecordconfig on the AI feature now defaults tofalse - The AI chat input now supports
@mentions for referencing records from configured data models - A new large scale yearplanner view has been added which displays up to twelve months of a year, one in each row. This looks like wall-mounted year planning charts. It is recommended for use only on large displays. YearPlanner demo.
STYLING CHANGES
-
The CSS classes which show "heatmap" colours in calendar cells based on certain breakpoints have been removed. The event count is now used to calculate the background color for a more granular color set. The visual appearance remains largely the same except for more intermediate colors. The following CSS classes are no longer used:
-
b-date-picker-1-to-3-events -
b-date-picker-4-to-6-events -
b-date-picker-7-or-more-eventsThe following Bryntum CSS custom properties are not used:
-
--b-year-view-1-to-3-events-color -
--b-year-view-4-to-6-events-color -
--b-year-view-7-or-more-events-colorInstead the starting and ending colours for a heat map are defined in the themes using the following properties:
-
--b-heatmap-start/* The background colour for one event */ -
--b-heatmap-end/* The background colour for ten or more events */ -
Removed
content: var(--fa)convenience CSS rule from.b-icon::before/.b-fw-icon::before. Font Awesome icon classes likefa-booknow require thefabase class (e.g.,fa fa-book) (#12790)
LOCALE UPDATES
- New locale key
Calendar.months : 'Months'added for use now by theYearPlannerview. - New locale key
CalendarMixin.allDayEventCountadded to provide a localizable label for the all-day event count
DEMOS
- [VUE-3-NUXT] "Basic" (NUXT) demo shows using Calendar in NUXT. The demo is located in
frameworks/vue-3-nuxt/basicfolder (#10220)
7.2.x - Unreleased
FEATURES / ENHANCEMENTS
- Improved accessibility with descriptive
aria-labelattributes on the calendar, its toolbar, and each view mode. MonthView event bars are now taller when the user has increased contrast enabled to meet WCAG target size guidelines. Clustered event shadows in DayView have increased contrast.
STYLING CHANGES
- Calendar shifted day highlighting uses oval border-radius instead of pill shape (#12960)
BUG FIXES
- #12631 - [Salesforce] Yearly view events popup is not working after upgrading
7.2.3 - 2026-04-09
STYLING CHANGES
- Agenda grid cells should not have box shadows (#12923)
BUG FIXES
- #9402 - [HIGH PRIO] Content Cut Off and Blank Second Page when print with big datasets
- #12860 -
ModeSelectorminified button text not set for non-Calendar modes - #12875 -
textColorandiconStyle.colornot working as desired in CalendareventRenderer - #12892 - Calendar CSS rule
.b-calendar-cell { position: initial }breaks Gantt layout - #12900 - Issue with combo
inlinePickerrendering in customizedresourceFilter - #12917 -
ResourceViewDayView/WeekViewheaders and body out of vertical sync whencompactHeaderis enabled
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.2.2 - 2026-03-19
BUG FIXES
- #12638 - Setting
textColorandeventBackgroundineventRendererrenderDatadidn't apply correctly - #12752 - [DOCS] Update the calendar event color variable in docs
- #12767 - Border missing between
MonthViews inResourceView - #12773 -
MonthAgendaViewagendaHeaderRendererconfig was misnamed asagendHeaderRenderer - #12798 - HSL color definitions missing
%on saturation broke colors on older Safari/iOS - #12809 -
EventEditonBeforeEventSavevalues missingstartDateandendDatewhen All Day is enabled
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.2.1 - 2026-02-26
DEMOS
- The login process for the new Calendar AI demo has been fixed, try the demo here: https://bryntum.com/products/calendar/examples/ai-pest-control/
BUG FIXES
- #12572 - Event Column CSS issues
- #12696 - [DOCS] Renderer docs does not mention JSX
- #12704 - RecurrenceEditorPanel month date buttons not updated after first edit
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.2.0 - 2026-02-24
FEATURES / ENHANCEMENTS
- A new widget type
timevisualizingeditorextends theEventEditorwidget to add a dockedDayViewshowing the event being edited in the context of a single day column so that it can be visualized against the other events in that day. An inline example in the API docs of the widget illustrates it in action. It is also used in thefilteringexample page - We've added a new AI feature which provides an AI agent for the Calendar. By using the provided chat panel, the user can ask the agent to interact with the Calendar in different ways. For example, the user can ask the agent to filter the data, sort it, or select specific records. The agent can also perform data manipulation operations such as adding, updating, deleting records. The feature and all its related components are marked as experimental and are subject to change
DEMOS
- Added a new Kitchen Sink demo showcasing all the various widgets included in the Bryntum Calendar package. The demo is located in the
examples/kitchen-sinkfolder (#3961)
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.1.3 - 2026-02-18
FEATURES / ENHANCEMENTS
ResourceViewnow supportshideEmptyResourcesin line withDayResourceView(#12608)
BUG FIXES
- #12574 -
DayViewdoes not offercolumnHeaderClickevents - #12592 - CS export issue with all-day events when importing into Outlook
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.1.2 - 2026-02-09
DEMOS
- Improved
calendar-highchartsdemo with enhanced tooltips displaying resource avatars, event counts with context, total hours worked, and time ranges for better data visualization
BUG FIXES
- #2701 - Excessive calls to doRefresh in MonthView
- #11911 - [NPM] Incorrect source maps in npm packages (
@bryntum/calendar,@bryntum/calendar-trial) - #12487 - Month View Calendar Week Compressing in Safari
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.1.1 - 2026-01-22
DEMOS
- Added new demo showcasing
CalendarwithHighChartsfor events visualization. The demo is located inexamples/calendar-highchartsfolder (#12382)
BUG FIXES
- #12466 - Icon color of
b-solid-barevents wrong - #12485 - Current date day cell header rendition missing
- #12493 - Moving the
dayStartShiftforwards results in the view's date being in yesterday, so the date moves backwards in time
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.1.0 - 2025-12-19
STYLING CHANGES
- Added a new
fluent2theme, available in both a light and dark variant (#10338)
BUG FIXES
- #12389 -
DateRangePickerduplicates month when picking date - #12417 -
beforeDragMoveEndshould see the correct newallDayvalue in theproxyEventRecord
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.0.2 - 2025-12-16
API CHANGES
- Added new config
continueEditingOnEventClickto theEventEditfeature. When enabled, clicking another event while the editor is open will immediately continue editing the second event instead of first closing and then reopening it. (Seeexamples/docked-editorexample)
BUG FIXES
- #12352 - Day name is not aligned on
MonthViewifshowWeekColumnenabled - #12372 - [HIGH PRIO] Show booking demo gets event height wrong
- #12387 - Disable event dragging to calendar date picker
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.0.1 - 2025-12-05
FEATURES / ENHANCEMENTS
MonthView's andCalendarRow'soverflowPopupcan be configured to show the overflowing events using a fully featured'dayview'or'dayagenda'or'agendaview'
BUG FIXES
- #12277 - Hover and resize UI is set on hover when view has
allowResize : false
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
7.0.0 - 2025-11-25
- We are proud to announce version
7.0of our products. In this update we have overhauled the look and feel of all products, introducing a new CSS variable based theming system with the following new themes available:- Svalbard - our new default theme, flat and modern
- Visby - inspired by the town's old ring wall, uses more borders
- Material3 - newer material, up from v1
- Stockholm - a refreshed classic
- High contrast - more contrast between text and backgrounds
- A special thanks to everyone who helped us by testing our alpha and beta versions. Your feedback and support have been invaluable
FEATURES / ENHANCEMENTS
- All Bryntum products have had a major visual overhaul, modernizing not only their look but also the underlying CSS. See the "Styling changes" section below for more details, and be sure to check out our updated demos
- Updated versioning scheme: for Alpha and Beta pre-releases now follow semantic versioning format (e.g.,
7.0.0-alpha.1,7.0.0-beta.1) - A new config property for
DayView,compactHeadermakes the all day header lay out the day name and date inline and with a smaller font-size - The
ScheduleTooltipfeature now passes to its renderer the events and the time ranges which coincide with the pointer position - Added new
responsiveEventHeightconfig forMonthViewallowing dynamic adjustment of rendered event bar heights. As the month view becomes smaller and the available space for events passes certain breakpoints, the eventHeight is updated to allow more events to fit in the reduced space. - DayCellRenderers in
CalendarRowandMonthViewnow get access toTimeRangesfor the date (#5589) - [TypeScript] Improved TypeScript definitions to support function parameters in typedef declarations
API CHANGES
- Added a new parameter
clearChangesto the store'sapplyChangesetmethod which, when passed asfalse, applies changes to the store without committing them, keeping the store dirty. By default, it istrue. (#11089) - [BREAKING]
DatePicker'scellRendereris now passed the cell element as thecellproperty of its render context. The inner element into which new content can be added is passed asinnerCell. Previously the inner element was passed in thecellproperty. This will only affect your apps if you have implemented acellRendererin anyDatePicker - [BREAKING] The following previously deprecated APIs have been removed:
CalendarDatePicker.maxDotsandYearView.maxDotsEventList.count
STYLING CHANGES
- [BREAKING] The styling of all Bryntum products has been migrated from SASS to nested CSS with custom properties (CSS variables). This change makes it much easier to create custom themes, and to change styling settings at runtime. But the change is not backwards compatible, any custom themes will have to be remade using the new system. The built-in themes and how they are applied to an app have also changed, we now ship 4 themes: Material3, Stockholm, Svalbard & Visby + a high contrast theme. Each theme has a light and dark variant. Check out the what's new guide and the updated styling guides for more information
- [BREAKING] Bryntum CSS selectors have been normalized to use consistent hyphenated names (kebab-casing). For example, the
TabPanelclass used to have theb-tabpanelclass, but is nowb-tab-panel. This change is not backwards compatible, so any custom CSS will have to be updated - [BREAKING] FontAwesome Free is no longer built into the Bryntum CSS, you will have to include it in your app for the default icons to show up as intended. This also means that the
b-fa-prefix no longer exists, any icons in your app relying on that has to be changed to FontAwesome's defaultfa-prefix. This change was done to reduce bloat for anyone using another icon set, and also makes it easier for apps to use a different version of FontAwesome
DEMOS
- [REACT] Ported
resource-modesvanilla demo to React, illustrates how to show multiple modes, each using the same underlying dataset, but filtered differently to show data for certain resource types. Demo is located inexamples/frameworks/react-vite/resource-modesfolder
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Remix:
>= 2.15.0
6.3.4 - 2025-11-20
FEATURES / ENHANCEMENTS
- [VUE-3] Vue 3 npm wrapper packages now include
typesdeclaration inpackage.json(#12014) - Month name format is configurable in
DatePicker(#12151)
API CHANGES
- Previously,
PickerFieldswere set toeditable : falseon iOS on the assumption that the picker would be used by preference. This behaviour has been discarded. Picker fields are editable by default (#11987) - The signature of
beforeDragMoveEndandbeforeDragResizeEndmay change for you. TheeventRecordpassed to the handler is the original, unchanged as yet event being dragged. The putative new start and end dates are in thenewStartDateandnewEndDateproperties of the fired event. Previously theeventRecordpassed was a disposable, temporary event record created solely for the purpose of dragging
BUG FIXES
- #12018 - [HIGH PRIO] Event disappears after drag from overflow menu
- #12091 - Resizing an event over the event tooltip throws an error
- #12093 - Edit event dialog disappears when select not valid
endDate - #12106 - Multi-day events skip the end date in Week view when showAllDayHeader is false (DST boundary, Europe/Stockholm)
- #12116 - The real dragged record is not passed to
beforeDragMoveEndandbeforeDragResizeEnd - #12226 -
Agendaview showsCannot read properties of undefined (reading 'columnIndex')message
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.3.3 - 2025-10-06
FEATURES / ENHANCEMENTS
- Setting
createOnUnmatchedtotrueon aCombowill now create a record for the initial value, or a value programmatically set later, if the value does not exist in the store for the combo (#11781)
DEMOS
- Our new Salesforce Community page is up and running. It solves the problem caused by recent change in Salesforce policy regarding Non-Revenue Orgs. Look up "Device Activation Is Always Required for Non-Revenue Orgs"
BUG FIXES
- #11913 - Delete a new created calendar event cause JavaScript error
- #11951 - Calendar
Agendaview delete last event cause JavaScript error
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.3.2 - 2025-09-15
FEATURES / ENHANCEMENTS
- The
beforeAutoCreateevent now passes thestartDateandendDateof the putative event to help handlers validate the create request. Thedateproperty is deprecated - The
ScheduleTooltipfeature may now show the precise, unsnapped time when hoveringDayViewwhen configured withprecise : true
API CHANGES
- [DEPRECATED] The
dateproperty of thebeforeAutoCreateevent is deprecated. Now, thestartDateandendDateof the putative new event record are both passed.
BUG FIXES
- #10261 - Intra day event which crosses the clock change point on the clock change day appears in the all day row
- #11587 - Issue with updating a repeated event
- #11629 - Dropdowns do not open on iPhone
- #11714 -
MonthAgendaViewshould not refresh infinitely when data is loaded in anonDateRangeChangelistener - #11758 - With
autoCreategesture click, clicking anOverflowPopupclose icon invokesautoCreate - #11789 - With
showAllDayHeader: false, day spanning events which start and end before thedayStartTimeare not included in the view - #11819 -
DayAgendawithdayStartShiftdoes not show events from next day - #11822 -
DayView's description is wrong on responsive size small - #11855 - Selecting a
multiSelectdate range outside the current month results in no dates rendered - #11857 - When new selection start is before the view's range, old selection is lost
- #11862 - DatePicker
multiSelect : trueshould exclude disabled dates - #11910 -
syncCalendarDate: falsedoes inject the view's date into the Calendar on view refresh
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.3.1 - 2025-08-07
FEATURES / ENHANCEMENTS
- Added
monthHeaderRendererconfig tomonthGrid, allowing custom rendering of month headers in the calendar view (#11658) - MonthGrid's
monthEventStoreproperty now responds to mutations by recreating monthEventStores and refreshing (#11671) - DayView's
showTimeconfiguration property now accepts adurationproperty to show the event's duration in addition to the start time - A Calendar view's
eventRenderermay now set aeventBackgroundproperty in therenderDatato specify an image or a CSS gradient specification. ThetextColorproperty may now also be set to specify the colour of the description text in the event bar
BUG FIXES
- #11025 - [HIGH PRIO]
CalendarPaneldoes not output week number whenweekRendererpresent - #11670 - Hovering on custom tooltip raising console error from bryntum side
- #11683 -
allDayevents in overflow popups have truncated element lengths - #11714 -
MonthAgendaView's captive view's acquisition of events from theEventStoremust not triggerdateRangeChange
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.3.0 - 2025-07-21
FEATURES / ENHANCEMENTS
- Bryntum now ships a
Chartmodule (chart.module.thin.js), to easier integrateChart.js-based charts with our products. Used in the newcalendar-chartdemo - Bryntum npm repository provides charts thin package
@bryntum/chart-thinand wrapper packages for major frameworks: Angular (@bryntum/chart-angular-thin), React (@bryntum/chart-react-thin) and Vue 3 (@bryntum/chart-vue-3-thin) - A new year view has been added
mode : 'monthgrid'which displays a grid of twelve month-event blocks. Each block, representing a month of the year, contains a list of events for that month ordered according to theeventSorterconfiguration DayView'svisibleStartTimeoption may now be configured as a scroll options object to describe how the desired time should be scrolled. For examplevisibleStartTime : { time : 10:00, block : 'closest' }
API CHANGES
- [DEPRECATED] The
eventsData,resourcesData,assignmentsData,dependenciesData,timeRangesDateandresourceTimeRangesDataconfigs and properties on theProjectModelhave been deprecated. Useevents,resources,assignments,dependencies,timeRangesandresourceTimeRangesinstead. (#9778)
DEMOS
- New
eventeditor-tinymcedemo, showcasing how to use TinyMCE editor in the event editor - New
calendar-chartdemo, showing a dynamic chart based on the calendar data - New
monthgriddemo, showcasing how to use the newMonthGridcalendar view
BUG FIXES
- #11585 - Timezone conversion issue with all-day events
- #11642 -
dayNameFormatshould propagate from a DayView into its all day row
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.5 - 2025-07-09
BUG FIXES
- #11395 - Multi day recurring events propagate forwards into day cells incorrectly
- #11511 - [ANGULAR] Inconsistent date display in week resource view
- #11544 -
AgendaViewscroll position/row position wrong on first show - #11582 -
CalendarPaneldate cells's aria-label should announce"today"if the date is today's date - #11599 -
CalendarDrag's tentative event element should be retained across view refreshes
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.4 - 2025-06-18
BUG FIXES
- #11259 - [HIGH PRIO]
eventRendererproperty should be propagated fromResourceViewto child views - #11414 - Checkboxes showing artifacts
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.3 - 2025-05-27
BUG FIXES
- #11313 - [HIGH PRIO] SharePoint demos across Bryntum Suite are broken
- #11318 -
ColumnHeaderRenderfor Week mode does not returnallDayevents - #11322 -
Columnheader disappears when showing only weekdays withweekendButton - #11359 - Selected item ignored when
selectAllItemistrue
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.2 - 2025-05-13
API CHANGES
- A new
DateHelperformat token'DC'allows the decade to be easily extracted from aDate - The
EventTooltipfeature now accepts thealignToDomEventproperty to position the tooltip at the activating DOM event point (#11269)
LOCALE UPDATES
- A new locale key
DateHelper.decadehas been added as a function which, when passed a year or aDatereturns the locale specific term for that decade
DEMOS
- A new example,
resource-modesillustrates how to show multiple modes, each using the same underlying dataset, but filtered differently to show data for certain resource types
BUG FIXES
- #11049 - Should be possible to configure
weekStartDayfor individual views - #11182 - Setting
dayStartTime&dayEndTimetriggering additional date change - #11188 -
EventTooltip.hideOnDelegateChangethrows error - #11218 - Calendar modes should be able to be configured with configs which are not overridden by the Calendar's own version of those
- #11265 - Veto of mode change leaves
ModeSelectorUI incorrect - #11305 - Norwegian text in Dutch translation of
includeWeekends
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.1 - 2025-04-23
FEATURES / ENHANCEMENTS
- When a
Scheduleris used as a Calendar mode, thetimeAxisHeaderMenuno longer allows the configuredrangeto be overridden by theStart date,End dateheader menu item. Instead, aRangeMenuis shown to allow the user to select what time range the Scheduler should encapsulate. The Calendar's navigation buttons will update to reflect the setting
API CHANGES
- In
AgendaView, the floating settings button may be configured by, and accessed by the property namesettingsButton.
BUG FIXES
- #11025 - [HIGH PRIO]
CalendarPaneldoes not output week number whenweekRendererpresent - #11092 - Group records in
resourceStoreshould be ignored in resource-driven views - #11140 - API change settings to
settingsButtonis a breaking change. Month agenda example affected
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.2.0 - 2025-04-10
FEATURES / ENHANCEMENTS
- [ACCESSIBILITY]
Calendaris now fully operable solely using the keyboard, and all focusable elements are labelled to tell assistive technologies contextual details - [ACCESSIBILITY] Added focus outline for
DatePickerday cells andButtonelements - We've improved search in the documentation with new context-aware algorithms, delivering more accurate and relevant results from the API, guides & examples
- A new config for
Panel,drawermarks aPanelas a docked, slide-in panel, which by default slides in over the contents of the browser viewport - To make the event editor a docked panel sliding in from the end of the viewport, configure the
EventEditfeature with{ editorConfig : { drawer : true } } - New
showWeekNumberprop added to the CalendarMonthViewto control if week numbers should be shown - A new
tickRendererrenderer is available inDayView(WeekViewandDayResourceViewareDayViews), that allows content to be placed in the hour/half-hour ticks of theDayView. Try it out in the newresource-time-capacitydemo - [BREAKING] Since most apps have a build process that includes a transpilation step, starting with
v6.2.0we use the minimum possible transpile polyfills for the source code inside the@bryntum/calendar-thinnpm package to ensure that it works for all currently supported frameworks. Previously, each source file was transpiled with more polyfills, which introduced unnecessary overhead from transpilation helper functions. After this change, the size of your built app should be reduced. If you encounter issues with your framework's builder parsing the code, consider upgrading to a newer framework version that supports the latest ECMAScript specification (#10797) - [BREAKING] The
AjaxHelper.fetch()utility function no longer appliescredentials: 'include'by default, to better match how the nativefetchAPI works. This change also affectsAjaxStoreandCrudManager, if used by your app to handle remote data (#10886)
LOCALE UPDATES
- The following new locale keys have been added:
Calendar.gotoDate,Sidebar.selectDate,Sidebar.matchEvents,Sidebar.filterEvents,Sidebar.filterResources
DEMOS
- New
resource-time-capacitydemo showing resources with capacity tick renderer. The new demo is located in theexamples/resource-time-capacityfolder - New
drag-between-calendarsdemo showing how to allow dragging from one calendar to another. The new demo is located in theexamples/drag-between-calendarsfolder
BUG FIXES
- #10984 -
AgendaViewdoes not keep current date in the rendered block across store repopulate
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.1.9 - 2025-04-07
BUG FIXES
- #8782 - [Salesforce] LWS support in Firefox
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.1.8 - 2025-04-01
FEATURES / ENHANCEMENTS
- We've launched nightly npm package builds on our Bryntum npm server. Versions follow the format
X.Y.Z-nightly.YYYYMMDD(e.g.6.1.8-nightly.20250330), reflecting the current version and publish date - A new
AgendaViewconfig,showEmptyDatesspecifies that all dates in the AgendaView'srangeare represented in the UI (#10828) - Updated the
date-resourcedemo to ensure event names are fully visible for 1-hour duration events (#10979)
API CHANGES
- The
rtlconfig property of widgets is now public. By default, widgets conform to the writing direction of the element they are rendered to. But with the now publicrtlproperty, you can force a widget, and all descendant widgets to lay out from right to left (#10859)
DEMOS
- We have introduced UI localization for our Vanilla JavaScript demos, supporting all 45 currently available locales
- A new example (
dragfromsidebar) has been added showcasing dragging in new, unscheduled events from a grid in the Calendar's sidebar. The demo is located inexamples/dragfromsidebarfolder
BUG FIXES
- #10795 - [SALESFORCE] Remove
Map/Setpolyfills - #10823 - [HIGH PRIO]
OptionalChainingin Locale is not beingtranspiled - #10842 - Events not clickable after filtering resource in vertical mode
- #10844 -
ExternalEventSourcesource should be possible to be withinCalendar's DOM - #10938 - [HIGH PRIO] Incorrect CSS
sourceMappingURLin Bryntum thin npm packages - #10988 -
SchedulerinCalendarmoving to different week when setting Date
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.1.7 - 2025-02-21
BUG FIXES
- #10716 -
DayViewscroll to an event does not scroll horizontally - #10722 - Calendar integration guide mention
cellTooltipwhen it does not exist in Calendar - #10750 - Changing project in Calendar does not fully detach from the old project
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.78.0 - Remix:
>= 2.15.0
6.1.6 - 2025-01-31
FEATURES / ENHANCEMENTS
- [ANGULAR] New "Date Resource view" demo shows resources grouped by date. The demo is located in
frameworks/angular/date-resourcefolder - A new config in
MonthViewallows multi day events to not propagate into future cells in the same row as one long bar. WhenstackMultiDayEventsis set, every cell's event bars are independent and sorted into ascending order of start time (#9948)
DEMOS
- The
custom-renderingexample has been updated to illustrate how to create a fixed duration seven dayDayViewwhich always shows seven days from the Calendar's active date
BUG FIXES
- #10543 - Crash after pasting event in
calendar-schedulerdemo - #10564 -
DayResourceView. Hide resource row when all resources filtered out - #10608 -
DayResourcechanges itsstartDatewhen theweekStartDayis changed - #10641 - All day events row laid out wrong in
DayAgendaView - #10672 - Setting
hideNonWorkingDaysonMonthViews with many events throws error
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.38.0
6.1.5 - 2024-12-25
FEATURES / ENHANCEMENTS
- A new config for multi day
DayViews andWeekView,interDayResize : falseallows applications to limit drag-resizing an event (including when drag-creating a new event) to operate only in the day column the drag gesture started in (#8030) - A new config for multi day
DayViews andWeekView,interDayDrag : falseallows applications to limit drag-moving an outside its starting date. Note, for other view types, useallowDragResize : falseandallowDragCreate : falsebecause drag gestures in other view types are always inter day
BUG FIXES
- #9450 - [HIGH PRIO] Event scheduling from
11:30 PMto12 AMhighlights entire day in IST timezone - #10420 - When a keyMap action is invoked, it always calls
preventDefault - #10451 -
DayViewget description should not useformatDeltato format the range - #10488 - [HIGH PRIO]
calendar-taskboarddemo code is not available in online Code Editor
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.38.0
6.1.4 - 2024-12-09
FEATURES / ENHANCEMENTS
- Starting with the
6.1.4release, there are now trial versions of thin NPM packages available on our NPM server. These can be used to evaluate combining multiple products before purchasing a license. Please check the "What's new" guide for the details
DEMOS
- [ANGULAR] Added new Angular
basic-thindemo showing use of thin NPM packages. Demo is located inexamples/frameworks/angular/basic-thinfolder - [REACT] Added new React
basic-thindemo showing use of thin NPM packages. Demo is located inexamples/frameworks/react-vite/basic-thinfolder - [VUE-3] Added new Vue-3
basic-thindemo showing use of thin NPM packages. Demo is located inexamples/frameworks/vue-3-vite/basic-thinfolder - [WEBPACK] Added new Webpack
basic-thindemo showing use of thin NPM packages. Demo is located inexamples/frameworks/webpack/basic-thinfolder
BUG FIXES
- #10062 - Return value from
headerRendererinMonthViewnot used - #10070 -
resourceRecordwas not defined indragmoveendevent ofdayResourceView - #10358 - Actual record being moved/resized should be exposed in
dragMoveEndevent - #10399 - Event edit dialog closes without clicking on save with
autoCreategesture'click' - #10433 -
MonthAgendaagenda doesn't respectemptyTextconfig - #10437 -
MonthAgendafails to load if navigated to via empty week - #10448 - [REACT] JSX renderers are not supported with
React 19
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.38.0
6.1.3 - 2024-11-18
FEATURES / ENHANCEMENTS
- Salesforce LWC build now using generators instead of async/await as a workaround for Firefox bug. LWC bundle is now compiled with
"chrome": "54"babel target (#7849)
API CHANGES
- [VUE 2] reached end of life on December 31, 2023. As a result, we will no longer be updating our Vue 2 components. While the components will continue to exist, we will remove them in a future release and recommend that you upgrade to Vue 3 for continued support
STYLING CHANGES
- Certain color adjustment functions in SASS has been deprecated and will be removed from SASS in a future version. To be prepared for that, we have replaced our usages of these functions with the new ones. In general, this should not affect the look of components, with reservation for minor color variations (for more information, see https://sass-lang.com/documentation/breaking-changes/color-functions)
DEMOS
- New
phpdemo showing how to use Bryntum Calendar with a PHP backend (#7574)
BUG FIXES
- #3393 - [HIGH PRIO] Inconsistent duration unit in created calendar events
- #9018 - [HIGH PRIO] Localization doesn't work for Microsoft Dynamics CRM Online
- #10141 - Avatar style conflict between
GanttandCalendar - #10170 - Calendar
visibleStartTimeissue, 5s scroll delay - #10228 -
AgendaViewdoes not always scroll the new date that is set into it into view - #10232 -
resourceRecordisundefinedinDayResourceView - #10331 -
AgendaVieweventTimeRendererneeds to be able to be more flexible
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 3.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0 - Sass:
>= 1.38.0
6.1.2 - 2024-10-11
FEATURES / ENHANCEMENTS
CalendarDatePicker,MonthAgendaViewandYearView, when usingshowEvents : 'dots'may now be configured with details about the sizing and spacing of the dots. See theeventDotsconfig, and the Month Agenda example- A new config on the
EventTooltipFeature,clickDelaydelays the show on click to allow disambiguating click gestures from double click gestures (#9971)
API CHANGES
- [DEPRECATED] The
maxDotsconfig ofCalendarDatePickerhas been deprecated in favour of the neweventDotsconfig
DEMOS
- [VUE-3-VITE] New basic demo (Vue 3 vite) shows how to use Bryntum Calendar in Vue 3 project with TypeScript. The demo is located in
examples/frameworks/vue-3-vite/basicfolder (#9808)
BUG FIXES
- #9685 - [HIGH PRIO] Bryntum agenda print issue
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.1.1 - 2024-09-27
BUG FIXES
- #10076 - [HIGH PRIO] Disabling
autoCreatecauses exception when drag events - #10089 -
beforeRequestandafterRequestevents missing in Calendar6.1.0version - #10102 - Duplicate title in week view after drag & drop
- #10109 -
ModeSelectoroverflow menu items do not get registered incalendar.widgetMap
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.1.0 - 2024-09-18
FEATURES / ENHANCEMENTS
- A new feature,
ScheduleTooltipshows the hovered date and time in a tooltip which tracks mouse movement. It is not enabled by default. In its default configuration, it only activates inDayViews (#5314) - The regular non-Ajax
Storenow has the ability to accept remote paging, sorting and filtering (#6860, #8180, #9363) - A new feature,
EventBuffershows preamble and postamble times before and after events inDayViews (#7148) - A new Calendar view,
DayAgendaView(mode : 'dayagenda') offers a serial view of events in a day with the events rendering at their natural size, in ascending order ofstartDate. A new example (examples/day-agenda) exhibits this (#9191) DayResourceCalendarRownow lets you render additional HTML below the avatar/name with the newresourceHeaderExtraRenderermethod. See it in use in the newdate-resource-non-consecutive-datesdemoDayResourceCalendarRownow lets you fully customize the HTML showing for each resource with the newresourceHeaderRenderermethod- A new Calendar view,
MonthAgendaView(mode : 'monthagenda') offers a compact view of a month's events with the agenda for the selected date displayed below. This is designed specifically for use on phone-sized devices with a width of less than 600 pixels. A new example (examples/month-agenda) exhibits this ExcelExportfeature got a minor refactoring, and now uses more feature-richwrite-excel-filelibrary (#6089)
API CHANGES
- Previously, clicking on a long-running event in a
MonthView, on one of its continuation days would return in theeventClickevent adateproperty which is the date of the start point of the event bar, not the date of the cell clicked in. From 6.1.0, the date of the cell clicked in is always returned. This brings the API in line with the established Scheduler API (#9870)
DEMOS
- New
date-resource-non-consecutive-datesdemo showing how to use non-consecutive days in theDayResourcemode (#9543) - New
month-agendademo showing how to useMonthAgendaViewmode - New
day-agendademo showing how to useDayAgendaViewmode - New
travel-timedemo showing how to use theEventBufferfeature
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.6 - 2024-09-13
STYLING CHANGES
- Predefined colors available as
eventColorhas been normalized betweenScheduler,CalendarandTaskBoard
BUG FIXES
- #9884 - [TypeScript] Event tooltip type should accept tools config
- #9904 -
ResourceViewTimeAxisalways shows current time pill ifshowTimeis set - #9909 - Moving an infinitely weekly repeating event by drag & drop fails
- #9930 - Cannot read properties of undefined (reading 'then')
- #9939 - Calendar crashes when
autoRowHeightandhideOtherMonthCellsset totrue - #9949 - Repeat event error when selecting option first day in month
- #9956 -
AgendaViewhas incorrect row heights ifhideNonWorkingDayschanged while hidden
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.5 - 2024-08-30
DEMOS
- Custom theme demo (JavaScript) shows how to create a custom theme by modifying scss varibales. New demo is located in
custom-themefolder (#9762)
BUG FIXES
- #5233 - [ANGULAR] Frameworks wrappers components not triggering some events
- #9378 - [HIGH PRIO]
RecurrenceConfirmationPopupreconfiguration should be easy - #9718 - [VUE-3] Preventable events don't work in Vue wrapper
- #9726 - [HIGH PRIO] Reassigning resource of one event within series triggers incorrect
CrudManageroperations - #9752 -
autoCreateCalendar setting not propagated to sub views byresourceView - #9794 -
shortEventDurationnot calculated correctly if customhourHeightused - #9809 - Error on
EventEditclose whenrecurrenceCombois set tonull - #9811 -
minDate/maxDatenot processed correctly - #9829 - [HIGH PRIO] JS error thrown when
EventEditpopup is modal and delete button pressed
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.4 - 2024-08-02
BUG FIXES
- #8626 -
startDateandendDateareundefinedinbeforeDragMoveEndlistener - #9687 - Incorrect localization in Calendar
- #9690 -
LoadOnDemandfeature withResourceViewcauses infinite load loop - #9699 -
alwaysShowCurrentDatedoesn't work when the Agenda store is filtered - #9702 -
CalendarDragresizable:falsedoesn't disable the edge hover effect
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.3 - 2024-07-26
FEATURES / ENHANCEMENTS
- The Calendar
Dragfeature now fires vetoable events before the dragging starts. The event names arebeforeDragCreate,beforeDragMove,beforeDragResize - The plugin processing has been updated to correctly handle multiple plugin configurations
BUG FIXES
- #9388 - Event changes background color while resizing + dragging
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.2 - 2024-07-24
FEATURES / ENHANCEMENTS
- Bumped the built-in version of FontAwesome Free to
v6.6.0, which includes a new table-cells-row-unlock icon sponsored by Bryntum DayViews (WeekViewis aDayView) now can show the current time as a pill in the time axis. TheshowCurrentTimeconfig may be an object containingshowTime : true/falseandfullWidth : true/false. ThefullWidthproperty causes the current timeline to cover the full view width, including all days that the view contains
DEMOS
- [REACT-REMIX] "Basic" (React + Remix) demo shows using Calendar component in Remix. The demo is located in
frameworks/react-remix/basicfolder (#4912) - [SHAREPOINT] Added a new demo for SharePoint Framework (SPFx) in the
frameworks/react/typescript/sharepoint-fabricfolder (#9224) - Calendar
radio-scheduledemos has been updated (#9620)
BUG FIXES
- #9434 -
TimeRangesdo not render if'day'is default mode - #9443 -
dblClickto create after23:00inDayViewresults in a day-crossing event - #9513 - Event start date is one day before for zero-duration all-day events
- #9532 - Bug with
timeRangesafterdayEndTime - #9547 -
alwaysShowCurrentDatesetting needed forAgendaView - #9600 -
eventColornot applied correctly inTimelinemode - #9606 -
autoCreateevent close to midnight throws error in shifted day example - #9616 - Refocus after mouse-based event delete should only scroll is using keyboard
- #9631 -
ModeSelectorhas smaller font-size than others
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.1 - 2024-07-05
BUG FIXES
- #9198 - Grid printing does not handle auto height rows
- #9457 - Incorrect selected date in
WeekViewheader on first load
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
6.0.0 - 2024-06-28
- We are thrilled to announce version
6.0of our Calendar product. This release marks a significant milestone for us after more than two years of dedicated development. In this update, we are excited to bring you: - Copy paste of events
- Improved TypeScript typings
- A new code editor in the examples for easy fiddling
- Cool new demos
- Bug fixes and other enhancements requested by our community
- A special thanks to everyone who helped us by testing our alpha and beta versions. Your feedback and support have been invaluable
FEATURES / ENHANCEMENTS
EventCopyPastefeature adds copy-paste capabilities to events. Both via context menu and keyboard actions (#4728)- All Calendar modes now expose an
eventCountproperty, which yields the number of visible events, which intersect the view's date range. This is a convenience property for creating view description (#8758) - The code editor in examples is now implemented with the VS Code engine. Code folding, search and replace, full undo/redo is now available when editing examples
- The
Listwidget now handles a tree store and will indent and expand/collapse nodes on click of an inline toggle button - [TypeScript] Class configs
*Config(e.g.ButtonConfig) now provide type declarations forlistenersparameter in*.d.tsfiles - [TypeScript] Class configs
*Config(e.g.ButtonConfig) types now have optional parameters in*.d.tsfiles.*Configtype can be used instead ofPartial<*Config>declaration - Bumped the built-in version of FontAwesome Free to
v6.5.2, which includes a new table-cells-row-lock icon sponsored by Bryntum - [Angular] Bryntum Angular wrapper now exports
Bryntum...Propstypes (e.g.BryntumCalendarProps) which match the configs available for a wrapper component (e.g.BryntumCalendarComponent). Wrappers code is now delivered with documentation inside, that helps in setting up the components EventHelperno longer mutates the DOM event object to fix browser quirks and add utility properties. It now wraps the DOM event with a Proxy, which exposes all the properties of the DOM event and also accepts any new properties added to it. The original DOM event is available in thebrowserEventproperty
API CHANGES
- [VUE-3] Bryntum Vue-3 wrapper now exports
Bryntum...Propstypes (e.g.BryntumCalendarProps) which match the configs available for a wrapper component (e.g.<bryntum-calendar>). Wrappers code is now delivered with documentation and TypeScript sources inside (#3085) - [DEPRECATED] The
WidgetHelperutility class has been deprecated and will be removed in a future release. Use the corresponding widget class instead -Widget,ToastorMask(#6103) - [BREAKING] The
dropevents in theExternalEventSourcefeature have been renamed to conform to the wider Bryntum product standard:dropExternalwas renamed tobeforeDropExternal, andafterDropExternaltodropExternal(#7491) - [BREAKING] The
useRawDatasetting onStoreis now enabled by default, but with all sub-settings disabled. This means that the incoming data object will be used as is, without being cloned. Which will boost data loading performance, but is potentially a breaking change if the data object is reused / used in other parts of the application (#8335) - [BREAKING] In
6.0.0-alpha-2we changed the default value foruseRawDataon stores totrue. This boosted record creation performance by not cloning the incoming data object. However, this change has lead to some issues, and we are now taking a step back. It will once again default tofalsewhen supplying data inline, and instead only totruewhen data is loaded remotely using anAjaxStoreor aCrudManager(#9289) - [DEPRECATED]
@bryntum/babel-preset-react-app,@bryntum/cra-template-typescript-calendar,@bryntum/cra-template-javascript-calendarnpm packages are deprecated, and will not get any further updates. Versions prior to6.0.0are still accessible - [BREAKING] [ANGULAR] [REACT] [VUE]
BryntumProjectModelframework wrapper is no longer available since6.0.0. UseBryntumCalendarProProjectModelinstead. Check the upgrade guide for the details - [DEPRECATED] The
countproperty ofEventListis deprecated in favour of the more descriptiveeventCountproperty, which now exists in all Calendar modes. allowOverlapflag was made private. Functionality is not yet implemented, will be public once it is fully supported
STYLING CHANGES
- The Stockholm theme got some slight tweaks to panel header (removed bottom border) and tab panel styling (replaced active tab background with thick bottom border) for a more modern look (#8440)
DEMOS
- New
exporttoexceldemo showing how to export the Calendar events to Excel (#1567) - New
action-buttonsdemo showing how to render icon buttons inside DayView events
BUG FIXES
- #6261 - Drag proxy not aligned under cursor when dragging overlapping event
- #6441 - Instance config values should not be overridden by responsive configs
- #7141 - Event drag proxy has overlapping text when event is small
- #7760 - [HIGH PRIO] [TypeScript] Type intersection with
anymight be wrong - #7808 - Cannot configure mode selector as minified
- #8657 -
ResourceFilterListwidget does not correctly handle tree structure - #8891 - Change Range for
DayResourceandResourceViewat runtime - #9110 - Calendar crashes when zooming multiple times
- #9299 - Copy pasting a multi-assigned event pastes to "random" resource
- #9316 - Calendar zoom stops working once zoom level has hit minimum
- #9415 - Contextual recurrence options not shown when EventEditor docked
- #9418 - Event Editor should not hide when clicking modal mask with recurrence prompt open
- #9448 - Delete dialog for recurrent events disappears automatically
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.13 - 2024-06-26
BUG FIXES
- #9299 - Copy/pasting a multi-assigned event pastes to "random" resource
- #9368 -
NumberField.wrapAroundprocessed incorrectly when spin down goes below the min
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.12 - 2024-06-13
FEATURES / ENHANCEMENTS
- You can now configure Calendar's
enableRecurringEventswith adefaultActionproperty, to always choose a predefined action. Usesingleto always only process the selected event, orfutureto change all future events (#7606) DayViewandWeekViewnow accept acolumnHeaderRendererconfiguration. This is a callback function that can be used to create custom header content at the top of day columns (#9260)
API CHANGES
- [VUE] [REACT] When using wrappers for Vue or React,
syncDataOnLoadis by default set totrueon all stores configured on the wrapped Widget. Starting from5.6.12, stores with a configuredreadUrlor that belongs to a project configured with aloadUrl, will have theirsyncDataOnLoaddefault tonull
BUG FIXES
- #9025 -
calendar.createEventwith empty date triggers an error - #9231 - Disable recurring event confirmation pop-up does not work
- #9317 -
Agendaview flickers when pasting events - #9348 - External drag back into Calendar does not correctly update the event's
startDate - #9361 - Calendar event edit button sometimes is hidden after creating a new event
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.11 - 2024-05-21
FEATURES / ENHANCEMENTS
- A new static boolean property,
Widget.accessibilitywas added, which, when set totruecauses tooltips to be activated onfocusin addition tomouseover(#5539) - Vanilla JavaScript documentation has a new section on Multiple Products, showing how to use multiple components in a single page using
thincomponents (#8756)
API CHANGES
- After a docs regression, several APIs flagged to be hidden in subclasses were still visible in the docs. These APIs are now correctly hidden (#9140)
DEMOS
- Added new
multiassign-resourceidsdemo showing eventresourceIdsfield usage (#9187)
BUG FIXES
- #8783 - Occurrences should not be skipped for COUNT-based rules when changing
exceptionDatesat the data level - #8927 - [HIGH PRIO]
CrudManagersync does not clear changes for updated recurring event - #8972 - MonthView error when
sixWeeks: false,autoRowHeight: true - #9039 - [HIGH PRIO] Window Freezes when resolving recurrence confirmation popup
- #9143 -
startDateis overridden upon editing other fields of an event inEventEdit - #9151 - [HIGH PRIO] New events disappear from
timezonedemo when changing date - #9157 - Deleting last recurring event resulting in new event on the following day
- #9185 -
contextMenuTriggerEvent: 'click'does not work for calendar
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.10 - 2024-04-24
FEATURES / ENHANCEMENTS
CalendarPanel(and its subclassDatePicker) may now be configured with anonWorkingDaysobject which is separate from weekend days while weekend days continue to exist in their fixed position. (#8914)
BUG FIXES
- #8972 - MonthView error when sixWeeks : false, autoRowHeight : true
- #8987 - DayView.scrollTo function does not work more than one time
- #8992 - [ANGULAR] implement support of
ViewEncapsulation.ShadowDom - #9012 - Calendar: Multi-day recurring event over weekend throws errors
- #9022 - AgendaView shows inconsistent "Ends" date relative to how the tooltip shows it
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.9 - 2024-04-09
FEATURES / ENHANCEMENTS
DayView(WeekViewis aDayView) can now show both event start time and event end time in the event block header. Configure theshowTimeproperty as{ startTime : true, endTime : true }(#8886)
LOCALE UPDATES
- Added Brazilian Portuguese translation (
'PtBr') (#8747)
BUG FIXES
- #8730 - Event renderer uses single
DomConfigobject incorrectly - #8787 - Recurring events, which cross a midnight boundary can cause extra cells in
AgendaView - #8792 - Step does not work for
startTimeFieldin event editor - #8795 - New recurrence popup created on window focus out
- #8862 -
ListViewdoes not generate correctstepUnitfor a range - #8863 - Drag snapping should snap relative to hour start, not current position
- #8948 - Undefined variable
$cal-intraday-event-color
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.8 - 2024-03-04
FEATURES / ENHANCEMENTS
- The
DayView(Calendar modedayorweek) now offers aneventHeaderRendererproperty, which is a callback to be configured by applications which need to customize the header portion of an event block. By default, the event'sstartTimetime is displayed according to the configuredtimeFormat. This setting allows applications to place any content in the event block's header. - The
DayView(Calendar modedayorweek) now offers atimeAxisTimeFormatproperty which is aDateHelperformat string to format the time ticks in the time axis on the left side of the view.
DEMOS
- New
filtering-advancedexample showing how to add additional filtering fields to theSideBar
BUG FIXES
- #8642 -
DayView'stimeFormatis used in event header and in the time axis generation - #8688 -
dblclickbeforeAutoCreateevent does not receive aresourceRecordproperty - #8702 - [HIGH PRIO] Dragged event bar does not have identical content to event being moved
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.7 - 2024-02-22
FEATURES / ENHANCEMENTS
- The
DayResourceView(Calendar modedayresource) now offers aresourceDateFilterproperty, which is a callback implemented by applications, which allows applications to filter out resource columns for dates depending upon any conditions the application requires. The callback is passed context about the resource and date. It must returntrueorfalseto show or not show the resource column for the passed resource and date - The
DayView(Calendar modeday) now offers adateFilterproperty, which is a callback implemented by applications, which allows applications to filter out columns for dates depending upon any conditions the application requires. The callback is passed context including the date. It must returntrueorfalseto show or not show the day column for the passed date DayView(WeekViewis a subclass ofDayView) has a new config propertyshowDayStartHourwhich causes the zero-minute tick of the configured day start (usually 12:00 AM) to be shown at the top of the time axis (#8420)- Calendar views now have a
syncCalendarDateproperty, which prevents the Calendar date from the following view date clicks (#8501)
BUG FIXES
- #8415 -
highlightSelectedWeekmakes week rows jump 1px - #8423 - [HIGH PRIO] [LWC] Engine performance is too low with LWS enabled
- #8455 - Crash when drag creating in event-items demo
- #8458 - Tools should have white color in tooltip header
- #8539 - Crash when toggling full screen
- #8540 - Crash when adding new event via context menu
- #8564 - Returning false from
beforeDragCreateEndlistener leaves the drag-create element in place - #8603 - Agenda View - Incorrect Order of Events after updating one event when recurring events are present
- #8640 - [REACT] Update
EquipmentStoretoStoretype in all demos, fixed grid store to be unchained and only combo store should be chained in all framework demos
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.6 - 2024-01-31
FEATURES / ENHANCEMENTS
- Bumped built-in FontAwesome Free to version
6.5.1 - All frameworks demo applications have been verified and updated to be compatible with Node.js 20
API CHANGES
- To boost record creation performance, records now cache their
id(it is accessed very frequently, helps performance a bit) and join their store(s) in a more efficient way. As a side effect, a record no longer has astoresarray prior to joining a store, previously it was there as an empty array from start. We don't think this will affect any code, but wanted to share the change in case it does - [DEPRECATED] [ANGULAR] [REACT] [VUE]
BryntumProjectModelframework wrapper will be removed starting from6.0.0version. UseBryntumCalendarProjectModelinstead. Check the upgrade guide for the details
BUG FIXES
- #4605 -
EventRendererrenders html as raw string when name isnull - #5639 - Calendar drag create should fire
beforeEventAddlike Scheduler - #8196 -
displayNameconfig has no effect for Scheduler as a Calendar mode - #8200 - Webpack build failed with
.min.cssfile - #8337 -
EventRendererdoes not share well withresourceAvatars
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0 - TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.5 - 2024-01-09
FEATURES / ENHANCEMENTS
DayViewandWeekViewnow accept a new config,dashedSubtickswhich cause minor tick lines (at 30 and 15 minutes etc.) to be rendered as dashed lines
API CHANGES
- [DEPRECATED] The Calendar
tbaritemtoggleSideBarhas been renamedtoggleSidebarfor naming consistency. The old name will continue to be recognized untilv7.0, but it is recommended that if your app customizes that item in thetbar, you update your app to use the correct name
DEMOS
- [ANGULAR] New "Drag equipment onto tasks" demo (Angular) demonstrates how to drag any DOM node and drop it onto a task to update some aspect of it. The demo is located in
frameworks/angular/drag-onto-tasksfolder (#7985) - [ANGULAR] New "List view" demo (Angular) demonstrates the 'list' view type. The demo is located in
frameworks/angular/listviewfolder (#8106) - [ANGULAR] New "Using TimeRanges" demo (Angular) shows how to use the TimeRanges feature to add vertical zones to the calendar. The demo is located in
frameworks/angular/timerangesfolder (#8075) - [REACT + VITE] New "Drag equipment onto tasks demo" (React + Vite) demonstrates how to drag any DOM node and drop it onto a task to update some aspect of it. The demo is located in
frameworks/react-vite/drag-onto-tasksfolder (#7984) - [REACT + VITE] New "List view" demo (React + Vite) demonstrates the 'list' view type. The demo is located in
frameworks/react-vite/listviewfolder (#8105) - [REACT + VITE] New "Using TimeRanges" demo (React + Vite) shows how to use the TimeRanges feature to add vertical zones to the calendar. The demo is located in
frameworks/react-vite/timerangesfolder (#8032) - [VUE 3 + VITE] New "List view" demo (Vue 3 + Vite) demonstrates the 'list' view type. The demo is located in
frameworks/vue-3-vite/listviewfolder - [VUE-3 + VITE] New "Using TimeRanges" demo (Vue 3 + Vite) shows how to use the TimeRanges feature to add vertical zones to the calendar. The demo is located in
frameworks/vue-3-vite/timerangesfolder (#8033)
BUG FIXES
- #4500 -
allDayevent with long duration may become interday when dragged to main schedule - #7403 - Make a guide on how to make a theme selector in frameworks
- #7947 - Setting
defaultCalendar : nullmakes the 'add event' item of scheduleMenu disabled - #7964 - [REACT] JSX doesn't work in Popups
- #8104 -
onEventClickis not called by events relayed fromDayViewchild views - #8140 - Modes should refresh when
eventRendererchanged - #8144 - Setting
highlightSelectedWeektotrueisn't working - #8145 -
toggleSidebaritem has not consistent naming. - #8149 -
LoadOnDemandshould not request subsets of a range which is already loaded - #8157 - Crash in event tooltip when hovering one event and moving directly to another
- #8158 -
Tooltiprealign crash
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.4 - 2023-12-21
BUG FIXES
- #8066 -
ResourceFilterthrows an error ondeselectAllwhen it has achangelistener - #8080 - Missing
TimelineHistogramcomponent in Angular / React / Vue packages - #8081 - Missing
TreeGridcomponent in Angular / React / Vue packages - #8087 - Angular
drag-from-griddemo broken
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.3 - 2023-12-13
FEATURES / ENHANCEMENTS
DayViewzooming now also works using pinch-zoom gestures on touch devices. This is still controlled by thezoomOnMouseWheelconfig property- [REACT] New Resource view demo (React + Vite) shows per-resource calendar views. The demo is located in
frameworks/react-vite/resourceviewfolder (#7857) - [VUE-3-VITE] New Resource view demo (Vue 3 + Vite) shows per-resource calendar views. The demo is located in
frameworks/vue-3-vite/resourceviewfolder (#7890) - [VUE-3-VITE] New Drag equipment onto tasks demo (Vue 3 + Vite) demonstrates how to drag any DOM node and drop it onto a task to update some aspect of it. The demo is located in
frameworks/vue-3-vite/drag-onto-tasksfolder (#7464) - [REACT] Documentation in "Quick start" and "Guide" is now updated with how to build a React application using Vite for higher efficiency and better performance in development
API CHANGES
- [DEPRECATED] Please kindly note that
@bryntum/babel-preset-react-appand@bryntum/cra-template-typescript-calendar,@bryntum/cra-template-javascript-calendarpackages will not get any updates after6.0.0version
BUG FIXES
- #6125 -
EventTooltiphides when event menu shows - #7937 - Drag-create's
newNamefunction call needs more context - #7978 -
nextActiveView is undefinederror on deleting last visible event when sidebar date picker is showing events as dots - #7987 - List stops reacting to selection change if selection is programmatically updated
- #7988 -
EventTipadds its "reveal" class to itsoverTargetbefore the vetoable show event is fired - #7991 - List view event tooltip not always displaying
- #8003 -
minWidthof aligned widget calculated wrong when percentage is involved - #8004 - All-day bar created from resizing intra-day event does not inherit the event's resource/color
- #8036 - Copy to clipboard doesn't work in some code blocks
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.2 - 2023-11-24
FEATURES / ENHANCEMENTS
- [VUE-3] New List view demo (Vue 3 + Vite) demonstrates the 'list' view type. The demo is located in
frameworks/vue-3-vite/listviewfolder (#7463)
BUG FIXES
- #7092 - Feature mixin on-owner events are not exposed on class
- #7725 - Grid cells in an event list do not stretch grid row elements
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.1 - 2023-11-17
FEATURES / ENHANCEMENTS
- [ANGULAR] New "Resource view" demo shows per-resource calendar views. The demo is located in
frameworks/angular/resourceviewfolder (#7441) DayViewnow has ahideEmptyDaysoption which hides date columns for dates which contain no events. Note that this should be used with care. It may result in no visible date columns if there are no events in the view's date range. This is in allDayViewsubclasses such asWeekViewandDayResourceView(#7804)DayResourceViewnow has ahideEmptyResourcesoption which hides resource columns for resources which have no scheduled events for the date- The
WeekExpanderfeature now cooperates with theMonthView'sautoRowHeightproperty. Empty week rows flex-shrink to a minimum height when a week row is expanded to show all events. Vertical overflow is avoided where possible (#7854)
BUG FIXES
- #5719 - [YARN] Can not install
@bryntumproduct packages using yarn v2/v3 - #7703 -
NumberFieldlimits typed input tominimumFractionDigitsnotmaximumFractionDigits - #7750 - Vite error
@charset must precede all other statements - #7754 - [Frameworks] Thin packages not working with
pnpm - #7767 - List groups which start collapsed cannot be expanded using the UI
- #7775 - Setting
autoCreateto false doesn't prevent the dblclick event creation - #7820 -
globalThisshould be defined in locales to support LWC - #7823 - Inconsistent drag creation behavior in Calendar year view
- #7846 - Clicking on event, changes the start date of the view
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.6.0 - 2023-10-26
FEATURES / ENHANCEMENTS
- This release introduces a new set of npm packages and framework components, that allows combining multiple Bryntum products in the same application. These packages contain the product specific code only, as opposed to the current packages that has all code for the products each product builds upon (for example Scheduler contains Grid & Core). The new packages are called
thinpackages, and moving forward it will be the recommended way of using Bryntum products in npm based applications (for all supported frameworks). See the "What's new" guide for more information @bryntum/calendar-thinbundle includes scss theme files insass/themesfolder (#7445)- Time ranges now support recurrence out of the box, you no longer have to subclass and mix
RecurringTimeSpanmanually (#7217) - Calendar print feature allows printing Agenda View (#3884)
- There is a new event,
dayCellPopulatedwhich fires when an array of events has been gathered for a certain date. This event may be used to mutate theeventsarray for that date (#7715) - [TypeScript] Functions and events declarations in typings were improved to contain all available parameters and return type (#6961, #4456)
API CHANGES
- [BREAKING]
Core.util.helper.Pointclass has been moved to solve circular module dependencies. It is now a named export of theCore.util.helper.Rectanglemodule. Check upgrading guide for the details - [BREAKING] [TypeScript]
ScrollOptionstypedef has been renamed toBryntumScrollOptionsto not interfere with TypeScript interfaceScrollOptions. Check upgrading guide for the details (#7385) - [FRAMEWORKS][DEPRECATED]
BryntumProjectModelwrapper component has been renamed toBryntumCalendarProjectModel. Please see the upgrade guide for details
BUG FIXES
- #6619 - Calendar's
inline-datademo should useProjectModelwrapper - #7739 - Events with 0 duration still not displaying side by side
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0 - Angular:
>= 9.0.0 - React:
>= 16.0.0 - Vue:
>= 2.0.0 - Ionic:
>= 5.0.0 - Vite:
>= 4.0.0 - Webpack:
>= 4.0.0
5.5.5 - 2023-10-23
BUG FIXES
- #1317 - Calendar fires 2 refresh events on adding a new event record
- #4727 - Documentation for Calendar
EventMenuitems missing - #6206 - Wrong guide for customizing context menu
- #7587 -
onBeforeDragMoveEndreturns incorrect datetime on event record - #7607 - List should allow easy setting of selected items
- #7666 -
DayLayoutnot laying out zero-duration events - #7673 - Events not rendering after switching to Russian locale
- #7678 -
titleRenderernot honoured if editor is not floating - #7679 - Event blinks after drag create is completed
- #7693 - Align anchor arrow colour detection wrong when mouse is over adjacent element
- #7706 -
EventEditdoes not exit when clicking on sidebarDatePicker
5.5.4 - 2023-10-05
FEATURES / ENHANCEMENTS
- There is a new Calendar config
activeDateClswhich is a CSS class name which gets added to the currently active date's cell in all modes (#7535)
BUG FIXES
- #7478 - Unable to scroll after quickly navigating in Agenda view
- #7487 -
DateResourceViewdoes not renderResourceTimeRanges - Partially fixed #7491 -
ExternalEventSourcedropExternalevent should be preventable - #7512 -
ExternalEventSource: eventRecordnot always set inexternalDropevent - #7513 - Calendar tries to sync assignments on drag-create start
- #7520 -
viewContainershould be a config to allow reconfiguration - #7553 - Incorrect Swedish translation in Calendar
- #7567 -
overflowPopupshould inherit theeventSorterof its owner - #7599 -
autoRowHeightandmaxEventsPerCelldo not work together - #7600 - Event filter is not working when Calendar is read only
5.5.3 - 2023-09-15
BUG FIXES
- #4782 - React calendar issue when setting state
- #7059 -
beforeDragMoveEndandbeforeDragResizeEndhas not correct event ids - #7178 -
dragMoveEndlistener inDayResourceViewnot having updated data
5.5.2 - 2023-08-30
FEATURES / ENHANCEMENTS
- New demo
drag-onto-tasksshowing how to drag custom objects onto an event YearViewmay now show "No events" in its cell tooltip (#5530)
LOCALE UPDATES
- There is a new locale key
noEvents : 'No events'which may be used byYearView's cell tooltip
BUG FIXES
- #6993 -
DatePickerdoesn't triggerdateChangefor grayed days whendisableOtherMonthCellsfalse - #7331 - Cannot set day and date in two separate statements
- #7332 - Crash when double clicking calendar icon in
dual-dayviewdemo
5.5.1 - 2023-08-16
BUG FIXES
- #7179 -
beforeAutoCreatemissing parameter in newDayResourceView - #7199 -
timeFormatlocalization is ignored - #7224 -
isCreatingflag gets "stuck" if the edit is vetoed - #7256 - Incorrect number of events
- #7260 - Event not rendered on
overflowClickActionexpand
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
- #7221 - [VUE] Vue vite app doesn't compile with Bryntum vue wrappers
- #7224 -
isCreatingflag gets "stuck" if the edit is vetoed
5.4.2 - 2023-07-26
BUG FIXES
- #4163 - Inconsistent undo/redo behavior in calendar demo
- #6995 - [VUE] An exception when use
workingTimeconfig in calendar timeline view - #7127 - Id collision error when creating new event using an external button on
EventListmode - #7166 - Properly maintain
b-selected-dateclass inResourceViewday headers - #7169 - Events hidden behind other events when switching modes
- #7185 - Event sort works incorrect in Month View
- #7196 -
autoCreatestep not always propagated intoTimeFieldstep - #7208 - Calendar's active date not changing with
Datepicker
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
- #6077 - [TypeScript]
Modelconstructors should allow second param - #7085 -
beforeEventEditevent should handle async handlers - #7106 -
ExternalEventResourcedrag drop crashes if no resource onDayResourceView - #7107 - Extra horizontal scrollbars shown in
resourceviewin narrow window - #7132 - Calendar
ResourceFilterchange listener has wrong 'oldValue' on select
5.4.0 - 2023-06-30
FEATURES / ENHANCEMENTS
Widgethas a new config,maximizeOnMobilewhich takes effect only onfloatingwidgets 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 aslidetogglewidget. The API and value is the same, it is just a more appropriate UI for the platform - Calendar has a new mode,
dayresourceviewwhich shows columns of events for each selected resource for each day in its range. Check it out in the newdate-resourceexample - The
CalendarDragfeature now has a new configremoveFromExternalStore. It defaults totruemeaning that when an event is dropped on the Calendar from an outside event store, the record is removed from that store. If set tofalse, the record is not removed, and a clone of the dragged record is inserted at the drop position. - The
ExternalEventSourcefeature now allows adroppableproperty to be specified. If agridis configured as the external UI, then dropping will Just Work. If the event source is just DOM elements, there aredragMoveExternalanddropExternalevents. (#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
Showmenu in the docs browser
BUG FIXES
- #6957 - Unexpected drag proxy in
dragfromgriddemo - #6963 - Drag from Grid demo exception when dragging
- #7002 - Clarify granularity level of
dayStartTimeanddayEndTimein API docs - #7003 - Set
coreHoursto thedayStartand 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
ExternalEventSourceinto Calendar with no resources throws Error - #7057 - CalendarRow cell width mismatch on narrow Calendars
- #7068 - The "Select all" item in List is not internationalized
5.3.8 - 2023-06-28
BUG FIXES
- #6981 - Applying german locale after init makes
ResourceViewshow wrong week
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-itemsfolder
API CHANGES
- When changing
timeZoneon a Calendar, the date range that the Calendar is currently displaying will not change unless the active view is aDayViewand the selected days events center point will, when converted to a different time zone, be changed to a different day - The
DayViewmethodszoomToandzoomBynow return aPromisethat 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
currentTimeindicator is not converted totimeZone - #6871 -
overflowPopup : nullshould makeYearViewswitch toDayViewin Calendar - #6872 -
FilterFieldshould tolerate its field value beingnull/undefined - #6880 -
WeekView's all day row horizontal scroll may become out of sync if no all day events exist and theminDayWidthis set to cause horizontal overflow. - #6973 - Calendar
editEvent(eventRecord)crashes withoutstartDateandendDate
5.3.6 - 2023-05-26
API CHANGES
- Event bar colors are set in an event element using the
--cal-event-colorCSS 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 aniconClsmay now show the default circular "bullet" icon before the text. To enable this, configure that mode (or the Calendar'smodeDefaults) withshowBullet : { bar : true } - The
durationUnitused in the new record when drag-creating events now matches the unit specified in thedragUnitproperty of the active view. The defaults have not changed, so in aDayView, the duration of drag-created events will be inhoursand in all other views, (including the all dayCalendarRowin aDayView) indays(#6798) - The
EventTooltipfeature may now be configured withrevealEventsInCluster : falsewhich 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
DayViewandWeekViewmay now be configured with how to snap an autoCreate pointer date to anautoCreate.steppoint. TheautoCreate.snapTypemay be configured as'round'(the default),'floor'or'ceil'(#6739)
BUG FIXES
- #6771 - No cell content should be shown for "other month" cells in
MonthView - #6772 - Event colour source should be taken from correct resource
- #6779 -
MonthViewevents bars not conforming toeventColorrenderer values. - #6781 - Remove erroneous
dayCellRendererdocs fromAgendaView - #6828 -
CalendarDragshould not create anAllDayZoneif theallDayEventswidget has been configured away
5.3.5 - 2023-05-11
FEATURES / ENHANCEMENTS
- The
ResourceFilterwidget may now be configured to also filter theresourceStoreby configuringfilterResourcesastrue(#6698) DayViewandWeekViewevent renderers now accept abodyColorproperty to therenderDatawhich specifies the background color of the body part of the event block (#6690)- The
EventStoresettingremoveUnassignedEventnow defaults tofalsefor 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
Combodropdown clicked - #6701 - [IONIC]
Scrollbarwidth could not be determined under Ionic framework - #6702 - Setting EventList
listRangeItemsitem tonullcauses error - #6705 - Crash in
shifteddemo - #6708 -
showEvents : 'count'inYearViewdoesn't work - #6714 - When
DayViewhasdaySelector : true, the time axis is not accounted for - #6733 - Crash if calendar sidebar is destroyed while loading
- #6744 -
DayViewallDayEventsshould be able to be configured as expanded
5.3.4 - 2023-04-28
BUG FIXES
- #4631 -
eventDragnot working well if data mapping used for start/end dates - #6588 -
ListViewbugs when asked to display arbitrary date range as opposed to range config - #6627 - Zero duration all Day Event shown incorrectly
- #6629 - Fix hiding context menus inside LWC components on scroll
- #6633 -
PickerFieldeditable:falsedoesn't work inside WebComponent - #6651 - Calendar: after zoom, scroll jumps on click-n-drag event creation
- #6652 - Minified UMD bundle does not export
bryntumnamespace
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-schedulerfolder - [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-inlinefolder CalendarDatePickernow offers aneventFilterconfig 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-angularpackage is now designed to work with Angular 12 and newer versions, which use the IVY rendering engine. New@bryntum/calendar-angular-viewpackage 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-7demo has been upgraded to use Angular 11 and@bryntum/calendar-angular-viewpackage. Demo is located inexamples/frameworks/angular/angular-11folder
BUG FIXES
- #4516 - Calendar doesn't accept
projectinstance - #5532 - Fix documentation of Vue 3 demo documentation
- #6498 - Allow application intervention in event positioning within
DayView - #6583 -
YearViewdoesn't render recurring events which areallDay - #6612 - Duplicate tooltip renderer called
- #6614 - + n more count incorrect when overflowing events start below the bottom of the cell
- #6622 -
DayViewdoes not change date on header click
5.3.2 - 2023-04-04
FEATURES / ENHANCEMENTS
- Elements rendered by the
TaskNonWorkingTimefeature elements now triggertaskNonWorkingTimeClick,taskNonWorkingTimeDblClickandtaskNonWorkingTimeContextMenuevents on the Gantt instance. (#5679) - There is a new
Calendarevent:beforeAutoCreate. This is a preventable event which fires before a UI-initiated create gesture is actioned. This allows a single point of validation for UI-initiated event creation (#6472) - ScheduleMenu is now enabled by default, allowing easier event creation using context menu on empty schedule space.
BUG FIXES
- #6395 - [ANGULAR] Cannot use
StateProviderwith a production build - #6417 -
schedule<DomEvent>events do not bubble out ofResourceViewto the Calendar - #6458 - Event dragging in Scheduler child mode does not relay onBeforeEventDrag event correctly
- #6513 - Event tooltip should not show when double clicking event inside scheduler
- #6514 -
ScheduleMenunot working inside Scheduler mode - #6515 - Clicking
EventListrow for event who'sstartDateis before visible range changes visible range
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
- #6368 -
MonthViewevent sorter gets order wrong
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
timeZoneconfig 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
TimeRangesfeature, that shades time ranges and displays a header in the gutter of day and week views. Try it out in the newtimerangesdemo (#5113) AjaxHelper.fetchnow supports using request body to pass parameters for non-GET requests. Please checkaddQueryParamsToBodyargument in the method documentation (#2855)- We have added support for
resourceTimeRangesto be added to a project. These are rendered only into subviews of aResourceViewwhich have matching resource ids (#5835) DayViewandWeekViewhave a newsixMinuteTicksconfig. 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
objecttypes 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) YearViewand the Calendar'sdatePickermay now show more than 4 dots whenshowEventsis'dots'by setting themaxDotsconfig on theyearmode or thedatePickerconfig. Note that increasing this value may produce a cluttered UI (#6238)YearViewand the Calendar'sdatePickermay now be configured witheventCountTip : truewhich causes a tooltip to appear to display the event count for the day when a cell is hovered
API CHANGES
- [DEPRECATED]
LocaleManager.registerLocaleandLocaleManager.extendLocaleare deprecated.LocaleHelper.publishLocaleshould be used instead. DayView'shourHeightBreakpointsnow 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
multiEventSelectnot working - #5988 - Calendar timezone demo UTC time incorrect
- #6225 - Calendar collapses and expands event on each subsequent click or double click
- #6255 -
EventTooltipPlacement Issue for Overlapping Events
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.DateTimeFormatwhen 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
- #5791 -
EventHelper's listeners for.b-using-keyboardbreak iOS dragging - #6177 -
EventSelection'sisEventSelectablenot called by Calendar'sEventSelectionmixin
5.2.9 - 2023-01-30
FEATURES / ENHANCEMENTS
- The event editor of the
EventEditfeature may be reconfigured to not be a popup by configuring theeditorConfigwithfloating : falseor by adding anappendToconfig. 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
onevent handlers exposed on owner class
5.2.8 - 2023-01-19
BUG FIXES
- #5918 -
DatePicker'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
devicePixelRatiois not1
5.2.7 - 2023-01-11
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
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
interDaymust consult the view'sdayTimeto handle shifted days - #5821 -
constrainTonot applied unless component is shown usingalignTo - #5827 - Error when navigating to view with event starting on hidden non working day
5.2.5 - 2022-12-16
FEATURES / ENHANCEMENTS
ListViewnow offers aresourceColumnin which is displayed a read-onlyChipViewdepicting the resources assigned to the event
API CHANGES
- The
EventStoreloadDateRangeevent 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. Achangedflag is set in the event if the range is a new date range
BUG FIXES
- #3954 - Fixed dragging all-day events with
dayStartShiftin effect. - #4530 -
loadOnDemandwith sidebar date picker usingshowEvents : truecauses 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 -
loadOnDemandfeature needsrefreshmethod - #5780 - ICS export datetime stamp is not UTC
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.
5.2.3 - 2022-11-17
BUG FIXES
- #5051 - Field does not show its invalid state unless it is hovered
- #5533 -
DayViewDragZonemoves proxy element in the wrong direction in RTL mode
5.2.2 - 2022-11-08
FEATURES / ENHANCEMENTS
- In
DayViews, 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 thehourHeightchanges (such as by zooming), the rendition will be corrected as appropriate (#1948) DayViewnow has acurrentTimeIndicatorRendererwhich allows a customized current time indicator to be used (#4972)- The
emptyTextconfig of theagendamode may now be an HTML string (#5046)
API CHANGES
- [DEPRECATED] The behaviour of the
store.datagetter 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 -
AgendaColumnneeds to beautoHeightif using a customeventRenderer - #5528 -
dayNumberClickandmonthNameClickevents are not firing for specific modes - #5536 -
allDayEvents : nullinDayViewchildren ofresourceViewleaves all day rows in the timeaxes
5.2.1 - 2022-10-28
FEATURES / ENHANCEMENTS
DatePickernow fully supports two modes ofmultiSelect. Setting it totruemeans 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
includeWeekendsButtontoCalendarwith 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
eventSorterfunction for views includingOverflowPopup - #5455 - LTS date format does not parse seconds
- #5460 - The duplicate event option breaks assignment of events to resources
5.2.0 - 2022-10-13
FEATURES / ENHANCEMENTS
- Calendar
DayViewnow shows all week days above the detail area (#2899) - Calendar responds to platform differences (via the
Responsivemixin) 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.ModeSelectorinstead of aCore.widget.ButtonGroupon its toolbar- The
ModeSelectorsupports apopupmode 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 newresponsivebehavior described above. - When the active mode of the calendar supports it, the mode selector displays a
Fullbutton to allow the user to toggle between full weeks and work weeks.
- The
- Calendar views now have a
descriptionFormatconfig to simplify changing the description responsively. If adescriptionRendereris provided, it takes precedence over thedescriptionFormat - Calendar added the
navigatorPlacementconfig to allow the forward/backward/Today buttons to appear on the sidebar instead of the toolbar - Menu has a
separatorconfig to make it easier to visually separate menu items - The responsive state objects used in the
responsiveconfig of theResponsivemixin now support aonceproperty to allow configs to only be set on first activation of the state - The
Core.helper.DateHelperclass has a new methodformatRangemethod which can format date ranges, as well as new formatting options for week numbers - A new config,
emptyCellRendererallowsMonthViewandCalendarRow(The all day row in aDayVieworWeekView) to display a clickable button in cells which contain no events. There is a newemptyCellClickevent. (#4413)
5.1.5 - 2022-10-12
FEATURES / ENHANCEMENTS
DatePickernow fully supports two modes ofmultiSelect. Setting it totruemeans 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
idif none is provided. The generatedidis meant to be temporary (a phantomid), and should be replaced by the backend on commit. Previously theidwas based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the sameidduring 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 generatedids 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
EventMenucontext menu's "Delete event" option doesn't handle recurring events properly - #4488 - Overflowed events with custom
propagateEndDatenot 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 -
syncCurrentTimeIndicatorthrows an error if "today" is a hidden non working day - #5346 - Deleting the base of a repeating event causes exception
- #5347 - Allow
defaultCalendarto be explicitly configured asnull - #5370 -
EventEditorresourceFieldstore cannot be reconfigured
5.1.4 - 2022-09-29
FEATURES / ENHANCEMENTS
- The
showEventsconfig of Calendar's sidebarDatePickerand Calendar'sYearViewmay now be'dots'to show events as a series of event-coloured dots. Maximum of three inYearViewand four inDatePicker. (#5234)
API CHANGES
- [DEPRECATED] The
eventsconfig of the sidebarDatePickerhas been renamed toshowEvents. Theeventsproperty 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
loadOnDemandfeature - #5313 - Multiday event not displaying if
hideNonWorkingDaysistrue
5.1.3 - 2022-09-09
BUG FIXES
- #415 - Improve docs on formatting currency values on
NumberField - #2742 - Configurable time axis tick
amount/unitshowing the Hours Between 15 Minutes - #5156 - Calendar Overflow Popup is hidden behind other nearby components on the page
- #5165 - Keyboard operations from
overflowPopupinResourceViewthrow errors, or silently fail
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 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
offsetStartsBeforeEventstoAgendaViewwhich, 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
minDayWidthof the week view makes dragged events misaligned - #4766 - Focus changes when clicking scroll down resources list
- #4769 -
EventTooltiptools 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 -
ResourceFiltershould continue to filter when its ownStoreis filtered - #4988 -
scheduleMenudoesn't catchresourceRecordcorrectly in scheduler timeline mode - #5007 -
zoomOnMousewheelzooming has to be synced between multipleDayViewsinResourceView - #5017 - [TypeScript] Property type is missing in
DataFieldConfig - #5018 - [Vue] Prop Validation fails for
Stringoptions - #5024 -
eventRendererrenderDataobject needs aniconStyleproperty 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 -
EventTipthrows error when shown oncontextmenu
5.1.1 - 2022-07-28
BUG FIXES
- #4904 -
eventsPerCellnot recalculated on month change whensixWeeksisfalse - #4951 -
timeFormatdoesn't work inresourceView - #4958 - List store reload needs to reset selection if no incoming records match previous selection
5.1.0 - 2022-07-21
FEATURES / ENHANCEMENTS
- The new config
eventListTimeFormatis available for views which extendEventList(EventListandAgendaView). 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
dockconfig which was previously declared asdock: stringis 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
loadUrlandsyncUrlconfigs - Updated the built-in version of FontAwesome Free to
6.1.1 KeyMapis a mixin that allows for standardized and customizable keyboard shortcuts functionality.KeyMapis by default mixed in toWidgetand 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
MonthViewhas a new config :hideOtherMonthCellsHide day cells which are not part of the current displayed month - Calendar's
MonthViewhas a new config :disableOtherMonthCellsDisable 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.jsbundle is no longer available - [BREAKING] WebComponents has been removed from
calendar.module.jsES modules bundle. New bundle with WebComponents iscalendar.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
readOnlysetting to child views
5.0.7 - 2022-07-13
BUG FIXES
- #4610 - Make
calendar.assignmentspublic - #4856 -
OverflowPopupdisappears when right click one of its items - #4857 -
OverflowZone's drag proxy only required ifowner.isYearView - #4864 -
MonthViewresize event using left edge leaves the event name rendered at the old position - #4895 - [LWC]
DragCreatein all day header throws - #4916 -
Fullscreenis not working on mobile Safari
5.0.6 - 2022-06-20
BUG FIXES
- #4597 - Calendar
autoCreate.startHourcannot be fractional - #4808 - Typings are wrong for async functions
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
- #4607 - [VUE] Incorrect prop types in Vue wrapper
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
eventundefinedevent upon key down - #4548 - Not possible to hide delete button on the event editor
- #4562 - [REACT] React wrappers have incorrect source mapping urls
5.0.3 - 2022-04-26
FEATURES / ENHANCEMENTS
- [WRAPPERS]
ProjectModelwrapper component reference can now be used asprojectparameter for Bryntum Calendar wrapper component in Angular applications (#4238) - [WRAPPERS] Calendar has a new
ProjectModelframework wrapper available for React and Angular. It simplifies sharing data between multiple Bryntum components (#4382) - [ANGULAR] New demo showing use of inline data and
ProjectModelwrapper. Demo located inexamples/frameworks/angular/inline-datafolder - [REACT] New demo showing use of inline data and
ProjectModelwrapper. Demo located inexamples/frameworks/react/javascript/inline-datafolder - [VUE-3] New demo showing use of inline data for
Calendarwrapper. Demo located inexamples/frameworks/vue-3/javascript/inline-datafolder
API CHANGES
- The
validateResponseflag onCrudManagerhas been changed to default totrue. When enabled, it validatesCrudManagerresponses 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/basicfolder - [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
dataChangeevents with different params
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 ResourceFilterinSidebarshould be configurable with custom selection (#2006)AgendaView's time rendering is now configurable with aneventTimeRendererconfig (#4437)
BUG FIXES
- #3469 -
loadOnDemandcauses fetch loop when involving Scheduler - #4279 - Calendar Resource Filter works incorrectly after one of resources removed
- #4303 -
MonthViewautoRowHeight -> falsecan result in incorrecteventsPerCellcount - #4307 - Order of data setting must be enforced when data set through
setConfig - #4315 -
MonthViewdoesn'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/radiogroupnot being disabled - #4451 - Removing a resource causes crash in agenda mode
5.0.1 - 2022-03-04
FEATURES / ENHANCEMENTS
- The
CalendarmodeDefaultsconfig 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-schedulerdemo - #4284 - Drag external event to certain resource
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
EventListcalendar view which displays a grid-based view of theEventStorenow merges any configuredcolumnswith its defaultcolumnsby matching thefieldproperty. On display in thelistviewdemo (#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
thinversion. These files are name[product].[theme].thin.css-calendar.stockholm.thin.cssfor 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 newsection in docs (#3276) Modelhas a newreadOnlyfield 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
ProjectModelsetters/getters forassignments,dependencies,events,resources(#4043) windowreferences are replaced withglobalThiswhich 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. Runcalendar.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.
minWidthsetting not applied to filtered out views - #4231 - Fix day view sort by duration for interday events
4.3.9 - 2022-02-17
FEATURES / ENHANCEMENTS
Calendarnow supportsminDateandmaxDate, 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 preventablebeforeDateChangeevent before temporal navigation so that date changes may be vetoed by application logic (#4057)
BUG FIXES
- #4125 - A tooltip and event editor shows different
endDatefor same event - #4160 - Sort day/week view events that start before midnight as starting at midnight for each intersecting day
- #4173 -
ResourceViewdoes not handle multi assignment - #4175 - Double border on far right side of resource view
- #4196 - Calendar Create event when Wednesday is a
nonWorkingDayandhideNonWorkingDaysis true - #4197 - Crash when configuring resource filter with selectAllItem
- #4204 -
AgendaViewdateRangeChangeevent doesn't fire whenCrudManagerisautoLoad : false - #4217 - Calendar "select all Items" is not working if inline data used
4.3.8 - 2022-02-07
FEATURES / ENHANCEMENTS
- Short events get CSS class
b-short-eventadded for special rendition. (#4106)
BUG FIXES
- #4099 -
Tooltipdoesn't handle reshowing on delegate change consistently - #4103 -
weekStartDayis 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
allDayEventsrows don't sync height on filter in/out
4.3.7 - 2022-02-02
BUG FIXES
- #2850 -
weekStartnot honored by date picker norAgendaView - #4005 -
eventColorfor 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
readOnlymakes filter field in sidebar alsoreadOnly - #4020 - Document event mouse events
- #4024 -
calculatePropagateEndDateneeds to be passed more context and be public - #4063 -
MonthViewautoRowHeightcauses recursiveloadOnDemandreloading - #4065 -
CalendarRow. WhenautoHeight, data changes do not sync scrollbar presence - #4069 - Document schedule mouse events and the
eventAutoCreatedevent - #4088 -
EventTooltip'sactiveClientcan be set before it gets shown - #4089 - Click on an event bar in "other month" cell should not navigate to that month
4.3.6 - 2022-01-13
FEATURES / ENHANCEMENTS
DayViewandWeekViewhave a new config,coreHourswhich 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
4.3.5 - 2021-12-24
FEATURES / ENHANCEMENTS
- Views which show OverflowPopups now allow the
overflowPopupto be reconfigured to show customized content, to be configured with aneventRendererof the same type as their owning view, or to be configured away entirely (#3860)
BUG FIXES
- #3846 - Fix drag/drop issues in
DayViewwhenshowAllDayHeader=false - #3885 - DayView needs a
dayCellRendererconfig - #3892 - DayView does not lay out day-spanning events correctly when
showAllDayHeaderis 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 -
hideNonWorkingDaysin yearView generates an error if configured initially - #3924 - CalendarRow doesn't support
overflowClickAction - #3928 - DateHelper
kformat behaves incorrectly - #3929 - YearView's overflow popup doesn't show event continuation arrows
- #3934 - Added
dayHeaderRendererto DayView to allow custom cay cell header inallDayEvents
4.3.4 - 2021-12-13
FEATURES / ENHANCEMENTS
- Calendar's
DayView(and, by extension,WeekView) now offers theshowAllDayHeaderconfig. This istrueby default. Configure this asfalseto 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
filteringAngular demo to use Angular 13 (#3742) - Added a config to hide eventTooltip header. Use
header : false(#3828) - Added a new config to the
ResourceView.stableResourceOrderistrueby 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
overlaySidebarconfig 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
DayCellRendererwidgets (MonthViewandCalendarRow)overflowButtonRendererwhich 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 -
ResourceViewchild views should be in the same order as theResourceStore - #3850 - [TypeScript] Missing static properties in typings
4.3.3 - 2021-11-30
FEATURES / ENHANCEMENTS
- Calendar modes now support a
syncViewDateconfig. It istrueby default. This means that a Calendar's modes have their date automatically synced with the Calendar's date. This may be set tofalseto opt out - The
MonthViewnow has anautoRowHeightconfig which means that week rows assume the height of the events they contain. TheminRowHeightconfig 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.
EventListmay not be required to "snap" - #3648 - [DOCS] Content navigation is broken
- #3672 -
ResourceViewgets itsstart/enddate wrong - #3696 -
MonthViewWeekExpanderfeature flips all other rows back to be flexed when expanding a row - #3697 -
MonthView'sshrinkwrapWeekRow(WeekExpanderfeature) is static. Week does not expand if events are added - #3743 - [DOCS]
web.configfile for Windows IIS server
4.3.2 - 2021-10-29
FEATURES / ENHANCEMENTS
DayViewnow supports thefitHoursconfig 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
allDayzone on the day and week views - #3585 - When using a
dayStartTimeinDayView,CalendarDraggets the drop time wrong - #3586 - Fixed event drag (move) in an expanded week of a month view when using
weekExpanderfeature - #3633 -
EventTooltipfeature needs to document it's currently active event record
4.3.1 - 2021-10-21
FEATURES / ENHANCEMENTS
- YearView now supports
dayCellRendererto add custom styling to its day cells, see updatedcustom-renderingdemo (#2485) - Bumped builtin Font Awesome Free to version 5.15.4
BUG FIXES
- #3526 - Fixed
EventListinResourceViewcrashes 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.)
4.3.0 - 2021-10-12
FEATURES / ENHANCEMENTS
- Calendar has a new
ResourceViewthat encapsulates a series of calendar views, one for each resource/calendar on display in the newresourceviewdemo (#2353, #3385) - [IONIC] Added Ionic framework integration demo. Demo located in
examples/frameworks/ionic/ionic-4folder (#2622)
API CHANGES
- [DEPRECATED] Buttons
menuIconClsconfig was deprecated in favor of the newmenuIconconfig, which better matches the naming of other configs
BUG FIXES
- #3513 - Time axis column not aligned with resource border
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
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
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,
rangeandstepUnit. 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
dataReadyevent 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
StringorDatebut always outputs aDate(#2933) - New
examples/frameworks/webpackdemo added which shows how build a Calendar bundle from sources with Webpack Available for licensed Calendar version which includes sources
BUG FIXES
- #3322 - Add
dataChangeevent to framework guides - #3408 - Updated typings to support spread operator for method parameters
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
eventSpacingconfig 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
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
featuresconfigs and properties (#2740)
BUG FIXES
- #1795 - Add configs to show event
startTime+endTimeoptionally (partial:startTimeis optional) - #2395 – Document
showTime/timeFormatin CalendarMixin - #3239 -
showTime: falseon Calendar WeekView throws + makeshowTimepublic
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 tokencommand for managing access tokens for CI/CD (#2703)
BUG FIXES
- #3039 - Fixed incorrect
dragcancelfiring 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
4.2.1 - 2021-07-07
FEATURES / ENHANCEMENTS
- [FRAMEWORKS] Added
dragFeatureandexternalEventSourceFeatureto frameworks wrappers (#3135)
BUG FIXES
- #3136 - [NPM] Running
npm installtwice creates modifiedpackage-lock.jsonfile - #3139 - Support
onandunmethods foreventTooltipfeature instance
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 fromdayStartTimewhich 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
4.1.6 - 2021-06-23
BUG 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
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
- #2990 - [ANGULAR] Preventable async events don't work
- #2994 - Cannot configure defaultCalendar on Calendar instance
4.1.4 - 2021-05-28
FEATURES / ENHANCEMENTS
- TypeScript definitions updated to use typed
Partial<>parameters where available - Calendar now fires preventable
beforeDragMoveEnd,beforeDragResizeEndandbeforeDragCreateEnd. Each of these events can be prevented by returningfalseor a Promise yieldingfalse(async confirmation) - New demo
confirmation-dialogsshowing how to do asynchronous confirmation of drag drop, resize and drag create actions - Buttons now has a new style
b-transparentthat renders them without background or borders (#2853) - [NPM] repository package
@bryntum/calendarnow includes source code (#2723) - [NPM] repository package
@bryntum/calendarnow 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
requiredby 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
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-envconfig target tochrome: 75for 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
4.1.2 - 2021-04-27
FEATURES / ENHANCEMENTS
- Internal code improvements and bugfixes
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
enableUndoRedoKeysconfig (#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
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
@bryntumnpm packages. See them inexamples/frameworksfolder Please refer to "Npm packages" guide in docs for registry login and usage information - Bryntum demos were updated with XSS protection code.
StringHelper.encodeHtmlandStringHelper.xssfunctions were used for this - The calendar now defaults to show current date if no
dateconfig 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,
listis 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
listview and offers a settings button to change the range size (#1875) - Added
shiftNext,shiftPrevious, andshiftToNowmethods 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 moreindicator 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
weekExpanderwhich offers a UI to expand MonthView week rows which contain overflowing cells - A new feature,
printallows 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]
initmethod 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
syncMaskwhere 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
4.0.8 - 2021-01-27
- Internal code improvements and bugfixes
4.0.7 - 2021-01-12
BUG FIXES
- #2106 - Add
toolsto tooltip demo to show interaction with the hovered event
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
4.0.5 - 2020-12-15
FEATURES / ENHANCEMENTS
- Two new Calendar features have been added,
EventMenuwhich offers a context menu for right-click on events, andScheduleMenufor 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
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,
ExternalEventSourcemakes 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
4.0.3 - 2020-11-17
FEATURES / ENHANCEMENTS
- A new Scheduler widget type
undoredohas been added which, when added to thetbarof a scheduling widget (such as aScheduler,Gantt, orCalendar), provides undo and redo functionality - Added experimental support for Salesforce Lightning Locker Service. The distributed bundle only supports modern browsers (not IE11 or non-chromium based Edge), since Salesforce drops support for those on January 1st 2021 too (#1822)
- Added Lightning Web Component demo, see
examples/salesforce/src/lwc calendar.umd.jsandcalendar.lite.umd.jsbundles are now compiled with up-to-date@babel/preset-envwebpack preset with no extra polyfilling. This change decreases size for the bundle by ~20% and offers performance enhancements for supported browsers- [DEPRECATED]
calendar.lite.umd.jswas deprecated in favor ofcalendar.umd.jsand will be removed in version 5.0
BUG FIXES
- #1792 - Resource filter names missing colors
- #1852 - Exception when editing new event in collapsed CalendarRow when that new event is in overflow
- #1882 - dblclick in YearView should not initiate autoCreate in the WeekView
4.0.2 - 2020-11-04
BUG FIXES
- Fixed documentation bugs
4.0.1 - 2020-11-03
BUG FIXES
- #1451 - Use selected element to anchor event editor instead of scrolling the first rendered element of an event into view
- #1454 - Calendar Month View: +2 more shown but only one event present
- #1459 - Fix cleanup issues when cancelling drag via ESC key press
- #1609 - Calendar CSS issues
- #1617 - Event layout, (ordering and element sizing) not corrected after drag move and drag create
- #1720 - Crash when clicking task in examples browser demo
- #2168 - dblclick in AgendaView adds new event, but doesn't show the editor
4.0.0 - 2020-10-19
FEATURES / ENHANCEMENTS
- [BREAKING] Dropped Support for Edge 18 and older. Our Edge <=18 fixes are still in place and active, but we will not be adding more fixes. Existing fixes will be removed in a later version
- Improved default description property of
WeekViewto display week of year in addition to month - Added
descriptionRendererconfig to calendar view widgets to allow custom descriptions - Calendar now ships with the same set of themes as its relatives Grid, Scheduler and Gantt: material, stockholm, classic, classic-light and classic-dark (#477)
- New event
dateRangeChangeis fired before any Calendar view changes its date range. This allows apps to request new data from the server. Upon loading data, any new events will appear - Added new localization demo and guide (#1409)
- New
loadOnDemandfeature which dynamically loads the Calendar's CrudManager depending on the date range active in the current view - Added a styling guide (#1427)
- Added XSS protection to default renderers (based on
StringHelper.encodeHtmlandStringHelper.xss) - Added support to export events to ICS format with the new
TimeSpan#exportToICSmethod. Demonstrated in the newexporttoicsexample - Added
calendar.lite.umd.jsmodule that does not includePromisepolyfill. This module is primarily intended to be used with Angular to preventzone.jspolyfills overwrite - Added a new
angular-7demo (#1537)
API CHANGES
- Model fields in derived classes are now merged with corresponding model fields (by name) in super classes. This allows serialization and other attributes to be inherited when a derived class only wants to change the
defaultValueor other attribute of the field - The
dateFormatconfig fortype='date'model fields has been simplified toformat
BUG FIXES
- #1133 - Calendar event selection
- #1228 - Custom fields in event editor now properly hide and show based on
eventType - #1234 - Visible date range required event to notify when views navigate in tiime
- #1237 - CrudManager.load() resulted in doubling of events
- #1246 - Fix css warning in Calendar theme
- #1253 - All day header out of sync with main schedule body after browser zoom
- #1257 - Event editor docs regarding how to add the
eventTypeFieldwere incorrect - #1281 - Calendar drag/drop did not work correctly with a scrolled body element
- #1282 - Ripple misplaced when clicking
- #1285 - Drag handles are no longer displayed where events in day view extend outside of day start/end times
- #1422 - Doubleclicking calendar throws after locale change
- #1434 - TimeAxis time format in Day and Week views should match time format in event elements
- #1446 - Calendar size is changed when switching months
- #1548 - [ANGULAR] Investigate zone.js loading order and set it to Angular default
- #1641 - Extra CSS classes applied to Calendar container
- #1696 - Calendar drag create throws error when event edit feature enabled
1.0.1 - 2020-07-24
BUG FIXES
- #1031 - Some localized properties not processed
- #1187 - Corrected drag/drop handling for non-date drop locations
- #1213 - Events created on current date always uses current time
- #1722 - dblclick to edit event when autoCreate is false throws error
1.0.0 - 2020-07-17
- We are very excited to announce the 1.0 GA of the Bryntum Calendar – our super modern calendar component with day, week, month, year and agenda views. It is written in pure ES6+ with wrappers available for React, Vue and Angular. The data model and UI are both extremely flexible and can be extended to match any application data model. Additionally, the data model is identical to that used in the Gantt / Scheduler products so you can easily share project data between multiple views. The SDK contains lots of examples and API documentation to get you started quickly
FEATURES / ENHANCEMENTS
- Added
DayView#visibleStartTimeconfig indicating the starting hour to scroll to for day / week view - Added new 'visible-hours' demo showing how to customize the visible time span
- Added new 'undoredo' demo
- Added new 'recurrence' demo showing recurring events
- Added new 'filterfield' to sidebar widget
- Added new 'custom-rendering' demo showing use of the
eventRenderermethod - Added new 'bigdataset' demo to show a very busy week, to test the performance