Scheduler – Change Log
Version 6.2.1
2025-04-23BUG FIXES
- 10991 – Scheduler
Timeline
shows 53 weeks for 2025 if week start day is Monday - 11075 – DOCS Incorrect type for
DependencyModel.LagUnit
when retrieving changes - 11076 –
TreeSummary
feature doesn’t work withTreeGroup
feature
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
Version 6.2.0
2025-04-10FEATURES / ENHANCEMENTS
- Event highlighting has been added to the Scheduler API. You can programmatically highlight any available event or events in the timeline by calling
highlightEvents
(9873) - Readonly events now consistently display a non-editable information modal, that can be invoked by double-click or context menu. The associated menu item
Edit
is no longer disabled, but replaced byShow details
when the event item cannot be edited - We’ve improved search in the documentation with new context-aware algorithms, delivering more accurate and relevant results from the API, guides & examples
- To make the event editor a docked panel sliding in from the end of the viewport, configure the
EventEdit
feature with{ editorConfig : { drawer : true } }
- A new config for
Panel
,drawer
marks a Panel as a docked, slide-in panel, which by default slides in over the contents of the browser viewport - New
TreeSummary
feature added, which allows you to roll up and display values in the time axis cell for each parent row in a tree scheduler. Check it out in the newtree-summary
andtree-summary-custom
demos (8044) - ACCESSIBILITY Higher contrast for event bar text color in
rounded
event style - You can now delete dependencies quickly by clicking the line to reveal a delete icon. This is a more intuitive way to delete dependencies than the previous method of right-clicking the line and selecting
Delete
. You can toggle this new behavior with theenableDelete
config option (10786) - BREAKING Since most apps have a build process that includes a transpilation step, starting with
v6.2.0
we use the minimum possible transpile polyfills for the source code inside the@bryntum/scheduler-thin
npm 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)
API CHANGES
- DEPRECATED Previously, the
EventColorPicker
accepted a singlerecord
for updatingeventColor
. Now, it acceptsrecords
so thateventColor
can be updated for all the selectedrecords
- BREAKING The
AjaxHelper.fetch()
utility function no longer appliescredentials: 'include'
by default, to better match how the nativefetch
API works. This change also affectsAjaxStore
andCrudManager
, if used by your app to handle remote data (10886) - The
TreeSummary
API introduced in the alpha releases was found too inconvenient and was changed. It now only requires implementing arenderer
, which handles both the calculations and the formatting of tree summary values (summaryRenderer
&generateTickValues
were removed)
LOCALE UPDATES
- Added translation keys
Object.information
andObject.showDetails
,EventEdit.startTime
,EventEdit.endTime
- New locale key
ResourceCollapseColumn.toggleResourceLayout
added for theResourceCollapseColumn
column header tooltip - New locale key
SchedulerBase.eventAriaLabel
describing an event
DEMOS
- New
tree-summary
demo showing how to rollup and summarize tree data. The new demo is located in theexamples/tree-summary
folder - New
tree-summary-custom
demo showing how to rollup and summarize tree and customize the way the rollup data is shown. The new demo is located in theexamples/tree-summary-custom
folder
BUG FIXES
- 10592 – Not possible to reach events using keyboard from Scheduler column header in vertical mode
- 10728 – Blank tooltips in Tree Summary Demo for Material theme
- 10841 – Highlight resources while dragging event into another scheduler
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
Version 6.1.9
2025-04-07BUG FIXES
- 8782 – Salesforce LWS support in Firefox
- 11023 – Unexpected behaviors with lazy loading and tree feature when filtering
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
Version 6.1.8
2025-04-01FEATURES / 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 config,
autoCreate
takes the place of thecreateEventOnDblClick
config (though that will still work until version7.0
).autoCreate
allows you to configure the DOM event name, which creates an event. This defaults todblclick
as before. It also allows other parameters of the new event to be specified (4399) - A
Scheduler
resource store filter, which results in only removal of a contiguous block of resources within the visible viewport will now update the UI in the same way as a storeremove
operation (10706) CrudManager
now includes arawResponse
reference to the native response object, when firingrequestDone
,load
loadFail
andrequestFail
events (10863)Scheduler
now supports sticky resource group headers in vertical mode (10894)- The
EventCopyPaste
feature will now paste multiple events into the same pattern they were copied. To revert to the previous behaviour of pasting all copied events to the same target resource and date, setunifiedPaste
on the feature config object tofalse
(10948) - The
EventDragSelect
feature now triggerseventDragSelect
andafterEventDragSelect
events on the Scheduler as the user drags to select events
API CHANGES
- DEPRECATED The
responseOptions
event param inCrudManager
load/sync events was renamed torequestOptions
. - The
rtl
config 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 publicrtl
property, you can force a widget, and all descendant widgets to lay out from right to left (10859) - DEPRECATED The
createEventOnDblClick
config has been replaced by theautoCreate
config. WhilecreateEventOnDblClick
will still work until version7.0
, it is recommended to useautoCreate
for configuring the DOM event name and other parameters for creating events
DEMOS
- We have introduced UI localization for our Vanilla JavaScript demos, supporting all 45 currently available locales
examples/fieldfilters
demo was updated to show filtering of the event store as well as the resource store- SHAREPOINT Added a new demo showing drag from grid to scheduler for SharePoint Framework (SPFx) in the
frameworks/react/typescript/sharepoint-fabric-drag-from-grid
folder (9478)
BUG FIXES
- 7603 –
infiniteScroll
feature should be possible to enable at runtime - 10595 – REACT JSX rendered recurrent events content disappear on scroll
- 10795 – SALESFORCE Remove
Map
/Set
polyfills - 10821 –
getDateConstraints
with only a start constraint does not work - 10831 –
scrollEventIntoView
error when using TreeGroup Feature - 10842 – Events not clickable after filtering resource in vertical mode
- 10873 – VUE Recurring Vue-rendered events scroll bug
- 10887 – HIGH PRIO Scheduler
multi-treegroups
demo failing on creating an event - 10920 – Multi event resize breaks when selected event is out of view
- 10938 – HIGH PRIO Incorrect CSS
sourceMappingURL
in Bryntum thin npm packages - 10988 –
Scheduler
inCalendar
moving to different week when settingDate
- 10999 – Selected event unassigned while attempt to remove another event
- 11001 – Suppress promise rejection message when canceling load requests
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
Version 6.1.7
2025-02-21FEATURES / ENHANCEMENTS
Group
feature can now function in vertical mode too (10749)
API CHANGES
- Tree stores got a new
keepExpandedOnLoad
config in v6.1.4, but it fell out of the changelog. When set totrue
, the tree will restore matching nodes expansion state after a reload (10017) EventDrag
feature has a new configalwaysCopy
. When set totrue
, it will alwayscopy
the event on drag-drop operation (10402)
BUG FIXES
- 5705 – DOCS Error in vertical scheduler
eventLayout
config docs - 10422 – Wrong row snapping when dragging event over tall row with overlapping events
- 10605 – HIGH PRIO
finalize
function doesn’t work after async operation inbeforeEventResizeFinalize
- 10705 – Event not being dropped correctly when dragging in infinite scroll with
lazyloading
enabled - 10736 –
TimeAxis
Date Range Picker does not work - 10744 –
loadMask
getting disabled too early - 10769 – RTL scrolling does not make the timeaxis header sticky
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
Version 6.1.6
2025-01-31FEATURES / ENHANCEMENTS
- New
eventReleaseThreshold
setting, for advanced use cases where you want to limit the amount of event bar elements that are kept in the DOM for faster re-usage on scroll
API CHANGES
- DEPRECATED Setting the
Scheduler
stepUnit
property has been deprecated. This is a read-only property, which produces a human-readable version of theshiftIncrement
for UIs. Set theshiftIncrement
instead
DEMOS
- REACT Legacy React JavaScript
drag-from-grid
demo has been removed - REACT Legacy React TypeScript
drag-from-grid
demo has been updated to use React + Vite. New demo is located inexamples/frameworks/react-vite/drag-from-grid
folder - REACT Legacy React JavaScript
vertical
demo has been updated to use React + Vite. New demo is located inexamples/frameworks/react-vite/vertical
folder
BUG FIXES
- 8483 – After
clearFilters
, callingscrollResourceIntoView
immediately doesn’t scroll the resource into view - 10542 – Keyboard focus rendition shown when using mouse
- 10548 – Column resize crashes when lockRows and
showCheckAll
enabled - 10627 – Error when resizing multiple events outside the view
- 10655 – Scheduler’s stepUnit is not flexible. And it should be a private property
- 10657 –
ExceptionDates
not cleared on UI when event becomes non-recurrent - 10658 – Calendar unresponsive if all days set as
nonWorkingDays
andhideNonWorkingDays
istrue
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
Version 6.1.5
2024-12-25API CHANGES
TimeRange
elements are now stretched the same way events are when using thefillTicks
mode
DEMOS
- VUE-3 New demo showing use of vue components in widgets & tooltips. Demo is located in
examples/frameworks/vue-3-vite/widget-rendering
folder (946)
BUG FIXES
- 9993 – HIGH PRIO SALESFORCE Scheduler Pro / Gantt task editor loses focus and cancels on click
- 10143 – ACCESSIBILITY Issue with keyboard accessibility in event navigation
- 10454 –
PDFExport
feature – error in date field when it’s cleared - 10460 – REACT
constrainDragToResource
andconstrainDragToTimeSlot
not working properly withlockRows
enabled - 10482 – Project clears child records added collection when applying a record sync response
- 10520 – Events are not clickable in mixed layout
- 10521 –
RecurrenceFrequencyCombo
default values not restored after custom set used - 10526 – English (Gb) locale uses AM/PM for a view preset
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
Version 6.1.4
2024-12-09FEATURES / ENHANCEMENTS
- Starting with the
6.1.4
release, 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
STYLING CHANGES
- The header element of
TimeRange
lines are no longer given a specific height, and will shrinkwrap
DEMOS
- ANGULAR Added new Angular
basic-thin
demo showing use of thin NPM packages. Demo is located inexamples/frameworks/angular/basic-thin
folder - REACT Added new React
basic-thin
demo showing use of thin NPM packages. Demo is located inexamples/frameworks/react-vite/basic-thin
folder - VUE-3 Added new Vue-3
basic-thin
demo showing use of thin NPM packages. Demo is located inexamples/frameworks/vue-3-vite/basic-thin
folder - WEBPACK Added new Webpack
basic-thin
demo showing use of thin NPM packages. Demo is located inexamples/frameworks/webpack/basic-thin
folder
BUG FIXES
- 10359 –
DurationColumn
drops decimal digits when editing - 10372 – LockRows feature not compatible with showCurrentTimeline of TimeRanges
- 10387 –
ResourceFilter
onChange
handler not firing - 10401 – Dragging
TimeRange
close to viewport edge does not trigger scrolling timeline - 10404 – Event Drag Create doesn’t complete when crossing over dates twice to change drag direction
- 10417 – HIGH PRIO Remote filtering of the
EventStore
also filter the store locally - 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
Version 6.1.3
2024-11-18FEATURES / 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
- Renamed "theme" demo to "custom-theme". The updated demo is located in
examples/custom-theme
folder (10155)
BUG FIXES
- 9018 – HIGH PRIO Localization doesn’t work for Microsoft Dynamics CRM Online
- 10065 – HIGH PRIO Milestone outside text overlaps with event when ticks removed
- 10135 – HIGH PRIO Fix horizontal dragging of editor in RTL viewports
- 10139 – Event bars stop selecting after moving timeline using
Pan
feature - 10165 – HIGH PRIO
ScrollResourceIntoView
andScrollEventIntoView
is not working withLockRows
- 10192 – HIGH PRIO Drag from grid/list demos not working in touch devices
- 10195 – HIGH PRIO Salesforce Drag from grid doesn’t work in LWS on touchscreen
- 10198 –
RecurrenceConfirmationPopup
buttons text should be configurable - 10200 – Make
beforeAssignmentDelete
async - 10202 – Drag & Drop from unplanned grid not working correctly with
LockRows
feature - 10225 – HIGH PRIO Incorrect type for
beforeAssignmentDelete
listener - 10271 – Setting
allowOverlap
tofalse
not working whenshowExactResizePosition
enabled - 10300 – HIGH PRIO
EventMenu
doesn’t work on Android touch device
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
Version 6.1.2
2024-10-11DEMOS
- REACT-VITE "Basic" React demo has been updated to use React + Vite. New demo is located in
examples/frameworks/react-vite/basic
folder (9932) - VUE-3-VITE New "Basic" (Vue 3 + Vite) demo shows how to use Bryntum Scheduler in Vue 3 project with TypeScript. The demo is located in
examples/frameworks/vue-3-vite/basic
folder (9808)
BUG FIXES
- 9708 – HIGH PRIO
infiniteScroll
and horizontalsplit
not working - 9992 – HIGH PRIO Not clear docs in part of adding new event in
resourceId
notation used - 10115 – HIGH PRIO BryntumTimeField not working in React
- 10160 – Top Scheduler does not scroll of there are no locked rows in it
- 10163 – Tree-grouping ignores sorting
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
Version 6.1.1
2024-09-27BUG FIXES
- 9978 – Column auto adjustment for Multiple linked Schedulers when hiding/showing a column
- 9990 – HIGH PRIO New added event stay in changes when call
applyChangeset
forresourceStore
- 10044 –
eventDragSelect
should exclude the events based onisEventSelectable
- 10091 – Events flickering when updating events that uses JSX in
eventRenderer
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
Version 6.1.0
2024-09-18FEATURES / ENHANCEMENTS
- Support for paging has now been added to the Scheduler (69)
- The regular non-Ajax
Store
now has the ability to accept remote paging, sorting and filtering (6860, 8180, 9363) - The Scheduler can now lazy load events, assignments and/or resource time ranges when scrolling vertically when using a ResourceStore that is not lazy loaded (9709)
- New
DependencyMenu
feature, allowing deleting + editing a dependency using right click (9733) EventEditor
now supportsautoUpdateRecord
to apply changes to the underlying record (updating the UI) while editor is open (9841)- You can now set boundaries for the timeline using two new properties:
minDate
andmaxDate
. Actions such as timeline scrolling, all types of timeline zooms, and shifts will respect these limits (3870) - With some configurations, zooming in and out of the Scheduler could lead to a very long time axis, which degraded performance. To prevent this, it now limits how many ticks (the bottommost unit) its time axis can contain to 10,000 (which will give a very long scroll range even with small tick sizes)
ExcelExport
feature got a minor refactoring, and now uses more feature-richwrite-excel-file
library (6089)
BUG FIXES
- 9154 – Partnered schedulers scroll lags when using iPad
- 9562 – Make resource and assignment data available in EventTooltip
- 9641 – Partial animation on scroll with lazy loading
- 9710 – HIGH PRIO Lazy loading of
EventStore
createsSTM
transactions
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
Version 6.0.6
2024-09-13STYLING CHANGES
- Predefined colors available as
eventColor
has been normalized betweenScheduler
,Calendar
andTaskBoard
DEMOS
- VUE-3 New demo showing implementation of dragging unplanned tasks from a Grid to a Scheduler. The demo is located in
frameworks/vue-3-vite/drag-from-grid
folder (9722) - VUE-3-VITE Event rendering demo (Vue 3 + Vite) shows using Vue components as event renderers. The demo is located in
frameworks/vue-3-vite/event-rendering
folder (Partially fixed 946)
BUG FIXES
- 284 – Shift by whole calendar month when shift unit is month
- 1230 –
rowHeight
set onViewPreset
is ignored - 9909 – Moving an infinitely weekly repeating event by drag & drop fails
- 9921 – Zooming the timeline with touchpad scales the entire page
- 9949 – Repeat event error when selecting option first day in month
- 9951 – Scheduler crashes when clicking on splitter and no resources exist
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
Version 6.0.5
2024-08-30FEATURES / ENHANCEMENTS
- You can now opt out of focus-related renditions while keyboard is used, using
DomHelper.enableKeyboardCssModifiers
(5271) - The
EventDrag
feature has a new property:snapToResource
. Set it totrue
to be able to snap events to resources while dragging events, i.e., vertical row snap in horizontal mode and vice versa (3624)
BUG FIXES
- 3784 –
visibleDate
config does not work whenautoHeight
is set totrue
- 5233 – ANGULAR Frameworks wrappers components not triggering some events
- 7066 – Event drop context data conflict
- 7263 – Bug when using split and panel
- 8042 – HIGH PRIO Drag drop tooltip shown with empty content
- 8263 –
CrudManager
loses changes when applying sync response - 8283 – Scheduler header date is not sticky
- 8359 – HIGH PRIO Export scheduler view with custom component as
eventRenderer
- 9150 – HIGH PRIO REACT Bug with Recurring Events + Timezones
- 9212 – Crash when splitting a child event inside a nested event
- 9378 – HIGH PRIO
RecurrenceConfirmationPopup
reconfiguration should be easy - 9438 – TYPESCRIPT Update types for the keys in
KeyMap
to allownull
- 9647 – Crash when enabling
LockRows
and dragging selected events from both splits - 9663 – The validation is still shown when closing and reopening event edit pop up
- 9677 – Splitter misrendered after removing all rows
- 9692 – Multi-assignment event dragging leaves a copy of the dragged event when
LockRows
feature enabled - 9695 – HIGH PRIO
TaskEditor
unexpectedly jumps when editing occurrences - 9718 – VUE-3 Preventable events don’t work in Vue wrapper
- 9723 – Setting
hideHorizontalScrollbar
tofalse
causes errors - 9737 – Should calculate
ResourceTimeRanges
in the original time zone - 9795 – HIGH PRIO beforeEventDropFinalize should include new
startDate
/endDate
values of the dragged event - 9803 – Missing event object in
beforeAdd
and strange effects when copy/paste Events - 9824 –
Tooltip
not showing for dynamically added summaries - 9850 – Cannot when clicking empty area in the Scheduler
- 9852 – Crash when moving mouse in Firefox
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
Version 6.0.4
2024-08-02FEATURES / ENHANCEMENTS
- The
PdfExport
feature now supports exporting scheduler in vertical mode (2007) - The
ColumnLines
feature now supports arenderer
function letting you add CSS classes and custom styles to each line (6016) - The
TimeRanges
feature now fires acurrentTimelineUpdate
event every time the current timeline is updated (9654)
BUG FIXES
- 9674 – Overlap detection broken when dragging multiple events assigned to the same resource
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
Version 6.0.3
2024-07-26FEATURES / ENHANCEMENTS
- The TimeRanges feature now fires a
currentTimelineUpdate
event every time the current timeline is updated (9654) - The plugin processing has been updated to correctly handle multiple plugin configurations
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
Version 6.0.2
2024-07-24FEATURES / ENHANCEMENTS
TimelineHistogram
view got two new hooks providing more control over the rendered charts DOM elements. Please check "What’s new" guide for more details (9037)- Bumped the built-in version of FontAwesome Free to
v6.6.0
, which includes a new table-cells-row-unlock icon sponsored by Bryntum
API CHANGES
- DEPRECATED
TimelineHistogram.getRectClass
config in favor of newgetBarClass
config to make naming more consistent
STYLING CHANGES
- The
font-weight
for event bars in the classic themes was increased to 400 (up from 300) to improve readability. Thehollow
event style was also slightly tweaked in theclassic-dark
theme for the same reason (9605)
DEMOS
- REACT-REMIX "Basic" (React + Remix) demo shows using Scheduler component in Remix. The demo is located in
frameworks/react-remix/basic
folder (4912) - SHAREPOINT Added a new demo for SharePoint Framework (SPFx) in the
frameworks/react/typescript/sharepoint-fabric
folder (9224)
BUG FIXES
- 4823 – Changing
showCurrentTimeLine
value doesn’t trigger stateful event - 6310 –
allowOverlap
= false not working when dragging multiple events - 8619 – HIGH PRIO Event drag does not work on iPad – it triggers timeline scrolling
- 9294 – HIGH PRIO
applyChangeset
in event store triggers a sync - 9309 – HIGH PRIO Multi-event resize issue when resizing to edge
- 9370 – HIGH PRIO REACT custom eventRenderer which return JSX, cause a significant delay in rendering events
- 9504 – HIGH PRIO Resource header blank after collapse expand vertical time axis column
- 9530 –
LoadMask
only masks top grid section when usingLockRows
feature - 9560 –
snapRelativeToEventStartDate
trigger error when event drag create action - 9575 – TYPESCRIPT
selectedTimeSpan
type definition - 9576 – HIGH PRIO
EventDrag
is broken in RTL withconstrainDragToTimeline
set tofalse
- 9580 – HIGH PRIO Mouse does not detach from the timeline with
Pan
Feature - 9625 – Wrong time axis column width when switching demo to vertical mode
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
Version 6.0.1
2024-07-05BUG FIXES
- 6015 – HIGH PRIO Poor UX when creating new event with
allowOverlap
set to false - 9379 – Merge cells rendering issues
- 9477 – Not possible to configure
generateNewName
inEventCopyPaste
feature - 9493 – HIGH PRIO
forceSync: true
not triggering sync call correctly - 9505 – Crash during keyboard navigation in Scheduler vertical mode
- 9512 –
getDateConstraints
blocks horizontal movement in vertical mode
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
Version 6.0.0
2024-06-28We are thrilled to announce version 6.0
of our Scheduler 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:
- Lazy loading of rows as you scroll, for huge datasets
- Support for freezing rows
- New
ScrollButtons
feature to easily scroll events into view - Support for resizing multiple events simultaneously
- 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
EventEdit
now shows an error tooltip when saving is not possible due to overlapping events (2841)- The
LockRows
feature allows records, which satisfy a certain condition to be locked at the top of the scheduler. By default, the condition is that a certain named field has a truthy value. The field, which decides this status defaults to'fixed'
, but that is configurable using thefieldName
property (4831) - The
EventCopyPaste
feature has been enhanced. It now creates clones of the copied records immediately on a copy action. This makes the copied data unaffected by any Store changes between the time of copying and the time of pasting. It also makes it possible to modify the copied data in thebeforePaste
event. Additionally, when copy-pasting between different Scheduler instances, the complete record will be copied, not just a predefined set of fields, as it was previous (6692) - PDF export server has been moved from
examples/_shared/server
folder to its own GitHub repository: https://github.com/bryntum/pdf-export-server (6820) - The default format for
NumberField
andNumberColumn
now includes all numeric-related configs from the current locale, like decimals separator, grouping separator etc. (6948) EventResize
feature now supports resizing multiple events simultaneously (7218)- The
TimeSelection
feature now supports using a drag-drop gesture to select a time span via the newenableDragSelect
property (7828); - The new
ScrollButtons
feature will show arrow buttons at both sides of each row, which lets the user scroll to the next out-of-view event easily. Showcased in the newscroll-buttons
demo (7965) - Stores now have support for lazy loading of data, which when used in the Scheduler, loads new data while scrolling (both vertically and horizontally) (8001)
- To allow for better control of the
z-index
of different layers in the schedule, elements from theResourceTimeRanges
andResourceNonWorkingTime
features are now rendered to separate parent elements in the DOM. Previously, they were both rendered into the same parent as event bars. If you have adjusted the z-index of the different elements in the schedule, please verify that they are as you expect after upgrading (8043) - Scheduler now supports drag-drop of events in a single direction via the new
singleDirection
property (8262) - New
allowOverlap
field onResourceModel
to allow per-resource overlap behavior (9010) - When setting recurrence on a non-recurring event, the choice of recurrence types is now pre-populated with choices contextualized to the day of week and week of month of the event’s start date. To disable this, configure the event edit feature with
useContextualRecurrenceRules : false
- Milestones at the same date no longer overlap when using pack layout and milestones that take part in layout (using
milestoneLayoutMode
) when packing is now correctly positioned - 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
- TypeScript Class configs
Config
(e.g.ButtonConfig
) now provide type declarations forlisteners
parameter in.d.ts
files - TypeScript Class configs
Config
(e.g.ButtonConfig
) types now have optional parameters in.d.ts
files.*Config
type can be used instead ofPartial<*Config>
declaration - Event bars, resource time ranges and time ranges all now use the direction neutral
inset-block-start
andinset-inline-start
styles for positioning, rather thantop
andleft
. This puts them in the same place in LTR and RTL directions without additional processing - 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...Props
types (e.g.BryntumSchedulerProps
) which match the configs available for a wrapper component (e.g.BryntumSchedulerComponent
). Wrappers code is now delivered with documentation inside, that helps in setting up the components EventHelper
no 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 thebrowserEvent
property
API CHANGES
- VUE-3 Bryntum Vue-3 wrapper now exports
Bryntum...Props
types (e.g.BryntumSchedulerProps
) which match the configs available for a wrapper component (e.g.<bryntum-scheduler>
). Wrappers code is now delivered with documentation and TypeScript sources inside (3085) - DEPRECATED The
WidgetHelper
utility class has been deprecated and will be removed in a future release. Use the corresponding widget class instead –Widget
,Toast
orMask
(6103) - In previous versions, a call to
project.commitAsync()
caused a UI refresh even if nothing was changed by the commit. This has been fixed so that the UI is only refreshed if the commit actually changed something. This is a slight behavioral change (for the better), which we think should have minimal impact on apps (7924) - BREAKING Store search method
findByField
now uses exact match for number values (8041) - BREAKING The
useRawData
setting onStore
is 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 The
copyKey
property of theEventDrag
feature now defaults to the default copy key of the native OS (Meta-key
for Mac andCtrl
for Windows) (9245) - BREAKING In
6.0.0-alpha-2
we changed the default value foruseRawData
on 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 tofalse
when supplying data inline, and instead only totrue
when data is loaded remotely using anAjaxStore
or aCrudManager
(9289) - STYLING The bottom border styling of the Grid header was moved from the
.b-grid-header-container
element to.b-grid-headers
in non-timeline sub-grids and.b-horizontaltimeaxis
in the timeline subgrid - BREAKING
ExcelExport
now exports only events in the current time axis by default. Controlled by theincludeEventsOutsideTimeAxis
config - Some of the
EventCopyPaste
feature’s events has gotten their parameters changed slightly. For thecopy
event, theeventRecords
andassignmentRecords
has been specified as copies of the original copied records. For thepaste
event, thepastedEventRecords
parameter has been deprecated, and its content is now available in theeventRecords
parameter. For the eventscopy
,beforePaste
andpaste
, the original records that were copied are now available in theoriginalEventrecords
andoriginalAssignmentRecords
parameters - With the recent introduction of individual layers for positioned elements, z-indexes have now been normalized. If you have overridden z-index of the layers, please adjust your CSS to ensure it looks as you expect
- The nonworking-time layer has been moved up in the z-index stack to float above the time axis tick lines
- Read-only events are now rendered the same way as normal events (previously used opacity)
- DEPRECATED
@bryntum/babel-preset-react-app
,@bryntum/cra-template-typescript-scheduler
,@bryntum/cra-template-javascript-scheduler
npm packages are deprecated, and will not get any further updates. Versions prior to6.0.0
are still accessible - BREAKING In addition to the APIs mentioned in Grid’s changelog, the following previously deprecated APIs were removed:
- The
event
property of thetimeRangeHeaderClick
,timeRangeHeaderDblClick
,timeRangeHeaderContextMenu
,beforeEventDrag
andeventDragStart
events (v5.2.7, v5.3.0) CrudManager.transport.load.fetchOptions
(v5.0.0)CrudManager.transport.load.requestConfig
(v5.0.0)CrudManager.transport.sync.fetchOptions
(v5.0.0)CrudManager.transport.sync.requestConfig
(v5.0.0)Dependencies.drawForEvent()
(v5.1.0)EventResize.handleSize
(v5.2.7)EventResize.touchHandleSize
(v5.2.7)NonWorkingTime.highlightWeekends
(v5.2.0)ResourceInfoColumn.validNames
(v4.3.5)ResourceModel.getEvents()
(v5.3.6)Scheduler.horizontalEventSorterFn
(v5.0.0)Scheduler.eventBodyTemplate
(v5.6.2)TimelineHistogramBase.getBarTip()
(v5.0.0)
- The
- BREAKING The documented order of the arguments of
TimeSpan.shift()
(EventModel
andTaskModel
extends it) has been incorrect sincev2.0.0
. Docs were updated to reflect the correct order (amount, unit
, notunit, amount
) and the code that handled the incorrect order has been removed - BREAKING The following default values were changed:
EventResize.lockLayout
andEventDragCreate.lockLayout
both now defaults totrue
Scheduler.passStartEndParameters
now defaults totrue
- The
trigger
argument ofScheduler.resumeRefresh()
now defaults totrue
- BREAKING In addition to the APIs mentioned in Grid’s changelog, the following previously deprecated APIs were removed:
- The
eventRecord
andassignmentRecord
properties of Scheduler’seventKeyDown
andeventKeyUp
events
- The
- BREAKING When using
fillTicks
and dragging events, the temporal data on the event that is smaller than the lowest timeaxis header tick is now kept intact when drag-dropping events EventMenu
menu item texts forCopy event
,Delete event
etc. were simplified to omitevent
word. Menu options will now just say "Copy, Cut, Delete"- DEPRECATED The
context
and its nested params ofbeforeEventResizeFinalize
has been deprecated
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
- REACT-VITE New demo showing booking application, using
ResourceTimeRanges
and theSummary
feature. The demo is located inframeworks/react-vite/booking
folder (8531) - VUE-3-VITE New demo showing booking application, using
ResourceTimeRanges
and theSummary
feature. The demo is located inframeworks/vue-3-vite/booking
folder (8532) - The
crudmanager
demo PHP backend has been improved
BUG FIXES
- 7276 – Move border from headers elements to allow time range header elements to render above
- 7760 – HIGH PRIO TypeScript Type intersection with
any
might be wrong - 7872 –
allowOverlap
set tofalse
only checks first occurrence, not other occurrences - 8208 – Remove call to
refreshRows
as part of drag creation - 8309 – Duration column decimal separator is not localized
- 8363 – Scheduler –
ScheduleContext
should allow interaction - 8493 – Events in the locked row disappears upon opening and closing the
EventEditor
- 8509 – HIGH PRIO Recurring time ranges not display in RTL
- 8567 – HIGH PRIO
LockRows
event drag drop issue - 8568 – Cannot delete event in locked row
- 8574 – Date range field not working in "Property booking" demo
- 8580 – Event disappears if dropped on locked row
- 8587 – Event bar duplicated when assigning a resource from a backlog section using task editor
- 8599 – HIGH PRIO "Infinite scroll" demo crashes on event drag create
- 8813 – HIGH PRIO
Toolbar
items lose their value when moved into toolbar overflow menu - 8957 – HIGH PRIO
LockRows
clone Schedulers are not kept synced with date range and scroll state of original - 9104 – Scheduler
backlog
demo – remove the lock/unlock row from context menu - 9112 – Scheduler crashes sometimes when event is hovered
- 9113 – Crash while applying zoom from
timeAxis
header inInfinite scroll
demo - 9117 –
Infinite scroll
demo backend runs out of memory - 9310 – HIGH PRIO Resize tooltip displays incorrect dates while multi-resizing
- 9311 – HIGH PRIO Multi-resize shouldn’t allow resizing
readOnly
event
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
Version 5.6.13
2024-06-26FEATURES / ENHANCEMENTS
- The
EventResize
&EventDragCreate
features has a new option for thelockLayout
config. By specifying it asminimal-updates
, only the resized / drag created event will be refreshed during the operation, instead of all events assigned to the affected resource. This can boost performance for the action when having many events assigned to a resource, at the cost of not being possible to visually indicate anything on other events until the operation is finished
BUG FIXES
- 7392 – ANGULAR Zoom to span not show correct view span when RTL used
- 9128 – REACT Drag from grid framework demos – Fix bg color for invalid target for drag proxy
- 9356 – HIGH PRIO Infinite scroll feature – scroll resets too close to the left edge of the new date range
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
Version 5.6.12
2024-06-13FEATURES / ENHANCEMENTS
- Added a new
refreshResources()
method to the Scheduler, that lets you update specific resources when for example some external setting unknown to the Scheduler is changed (9179)
API CHANGES
- VUE REACT When using wrappers for Vue or React,
syncDataOnLoad
is by default set totrue
on all stores configured on the wrapped Widget. Starting from5.6.12
, stores with a configuredreadUrl
or that belongs to aCrudManager
configured with aloadUrl
, will have theirsyncDataOnLoad
default tonull
DEMOS
- ANGULAR Updated "Booking" Angular demo to use Angular components as renderers, which is located in the "examples/frameworks/angular/booking" folder (9270)
BUG FIXES
- 8769 – HIGH PRIO Resizing event weirdly behaving on
WeekView
- 8852 – Clearing initial filters doesn’t render the
ResourceTimeRanges
- 9213 – Project
timeZone
config errors out - 9231 – Disable recurring event confirmation pop-up does not work
- 9278 – Export to PDF hangs on scaled page
- 9349 – Scheduler crashes when state is updated
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
Version 5.6.11
2024-05-21FEATURES / ENHANCEMENTS
- A new static boolean property,
Widget.accessibility
was added, which, when set totrue
causes tooltips to be activated onfocus
in addition tomouseover
(5539) - Vanilla JavaScript documentation has a new section on Multiple Products, showing how to use multiple components in a single page using
thin
components (8756) - The
beforeDragCreateFinalize
event now includes the dates that the event will be created with (9125) CrudManager
has a new config calledincludeChildrenInRemoveRequest
, that controls if a remove request includes the id of a removed parent and all its children, or just the id of the removed parent (8099)
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)
BUG FIXES
- 1048 – Safari: Overscrolling timeline
- 7719 – Annual event recurrence is not set up correctly
- 8978 – HIGH PRIO Gantt ASPNET frontend example not building
- 9097 – Dragging event with snap doesn’t seem to snap to correct time
- 9115 – Unexpected row highlight in
drag-from-tree
demo - 9211 – Crash "Method cannot be called at this state" when drag-creating
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
Version 5.6.10
2024-04-24FEATURES / ENHANCEMENTS
- You can now render custom HTML content inside a
GroupSummary
tooltip using thetooltipTemplate
function. Try it out in the updatedgroupsummary
example. (8752)
BUG FIXES
- 3025 – Resizing a column with preceding flexed columns moves the column being resized
- 8533 – HIGH PRIO ANGULAR Scheduler does not load if
direction: rtl
andinfiniteScroll: true
is set - 8934 – Persist the event selection while the user is scrolling using dragging with the mouse
- 8979 – Creating event causing the auto zoom in timeline when no start date set to the scheduler
- 8985 – HIGH PRIO Smarter
EventStore
sync behavior for start / end dates - 8992 – ANGULAR implement support of
ViewEncapsulation.ShadowDom
- 9004 – Collapsed Group Header State is not Restored
- 9027 –
eventCopyPasteAction: clone
not working whenresourceIds
field is configured onEventModel
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
Version 5.6.9
2024-04-09LOCALE UPDATES
- Added Brazilian Portuguese translation (
'PtBr'
) (8747)
BUG FIXES
- 7267 – Request for improved API for custom cell editors
- 8259 – HIGH PRIO Animated region collapse polish
- 8508 – Demo navigation buttons should be rotated in RTL
- 8571 – Drag from tree demo not working correctly
- 8572 – HIGH PRIO REACT Events disappear when scrolling and using JSX
eventRenderer
andresourceTimeRanges
- 8667 – HIGH PRIO Renderer Context demo event percentage circle showing undefined with new created event
- 8728 – Dates not serialized correctly when a
timeZone
is configured - 8729 – Changing
timeZone
and updating event dates multiple time causes event to get incorrect dates - 8744 – HIGH PRIO Events not rendering on drag scroll
- 8768 – Tooltip for a selector should not show if over a child of a delegate which has its own
data-btip
attribute - 8786 –
EventMouseLeave
fires multiple times when multiple events are selected - 8919 – Clicking
x
to closeEventEditor
popup does not triggerafterEventEdit
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
Version 5.6.8
2024-03-04BUG FIXES
- 7297 – Not navigable to next month if selected date is next month
- 8635 – Crash when pressing close button in event editor
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
Version 5.6.7
2024-02-22FEATURES / ENHANCEMENTS
- If Scheduler is not provided with the viewport start date on creation, it now tries to use the project’s start date, or calculates the earliest start date among all events
- The
renderer
of time axis header rows now includes a param letting you reference the Scheduler / Gantt instance in your header renderer. Useful when you want to add summary row to the header (8527)
BUG FIXES
- 7046 – Non working time ranges doesn’t render properly on vertical mode
- 7920 – Fix
getAssignmentsForEvent
param type insideAssigmentStoreMixin
- 8199 – Events disappear when change window size with very varying row heights
- 8209 – App crashing when moving multiple JSX events and some aren’t in view
- 8268 – Weekends disabled not reflected on Split view
- 8372 – Lift batching state of event and task records during the event/task partial resize events
- 8423 – LWC Engine performance is too low with LWS enabled
- 8436 – Returning
false
frombeforeAdd
when creating event by drag or double click resulting in crash - 8464 – REACT – All events "flicker" when ever an event is dragged or created or resized
- 8503 – Event start time after drag drop when
fillTicks
is used - 8505 – Row highlighted after pressing Enter in event edit
- 8506 – Event buttons not hidden after mouseout
- 8528 – RTL Events not visible when printing
- 8537 – Make private
cls
configs onCalendarPanel
public - 8546 – Missing row hover effect on event drag
- 8558 – Dependency is missing on the exported page
- 8594 – Resizing time-selection from both side produces error
- 8597 –
TimeAxisHeaderMenu
‘s zoom slider disappear while zooming with it - 8609 – End date field marked as invalid / red after changing event start date
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
Version 5.6.6
2024-01-31FEATURES / ENHANCEMENTS
- Scheduler now stores its
startDate
andendDate
values as part of its State storing mechanism. - All frameworks demo applications have been verified and updated to be compatible with Node.js 20
- Bumped built-in FontAwesome Free to version
6.5.1
- When editing very long events where the event bar extends outside the visible viewport, only the nearest 100 pixels of the bar are scrolled into the viewport rather than attempting to scroll the whole width into view. The minimum width to scroll in may be configured in the
eventEdit
feature using theminEditSize
config property (8315) - Grid now saves the collapsed state of groups in its default state saving mechanism (8103)
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 astores
array 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
BUG FIXES
- 7469 – Wrong value of
expanded
when calling storetoJSON
method - 7707 – TYPESCRIPT Update
timeAxisColumn
to be a property - 7720 –
scrollResourceEventIntoView
not working for collapsed tasks - 7821 – Issue with rendering recurring events with multi assign
- 8000 – Crash when right-clicking before drag creating in Booking demo
- 8022 – Hide validation tooltips in Popups as soon as the popup closes
- 8102 – State doesn’t store to
localeStorage
onshiftNext
/shiftPrevious
- 8200 – Webpack build failed with
.min.css
file - 8210 – HIGH PRIO Strange row expansion when drag creating in
embedded-chart
demo - 8216 – HIGH PRIO Error in summaries when expanding / collapsing resources
- 8220 – Exporting current view should not reset the time span
- 8233 – HIGH PRIO Dependencies to nested parent events, cause all child events to have an
offset
- 8240 –
EventDragSelect
ignores selection afterclose-to-edge-scroll
- 8282 –
EventDragSelect
does not select milestones - 8288 – Event content
overflow
not hidden in Firefox - 8291 – HIGH PRIO Events are not visible when exporting infinitely scrollable scheduler
- 8300 – HIGH PRIO ANGULAR Html custom element can not be rendered inside
eventTooltip.template
- 8310 – Timeline histogram with current timeline config triggering error
- 8343 – Focused tooltip throws errors when re-invoked by a new target
- 8344 – Event preamble/postamble element sizing/positioning doesn’t change for RTL mode
- 8373 –
Cannot read properties of undefined (reading 'button')
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
Version 5.6.5
2024-01-09BUG FIXES
- 1480 – Issue with Repeat event dialog on cancel changes
- 7372 – Improve performance of region resize
- 7403 – Make a guide on how to make a theme selector in frameworks
- 7818 – TypeScript Incorrect
RecurrenceModel
typing in typings - 7850 – Salesforce Multi event select not selecting events in Salesforce
- 7964 – REACT JSX doesn’t work in Popups
- 8112 – Drag not working between schedulers on responsive/mobile devices
- 8119 – Print dialog button should say
Print
- 8134 – Dragging event close to edge does not trigger timeline scrolling
- 8143 – Group icon stopped handling click when
resourceCollapse
column added - 8153 – Crash when right-clicking vertical time axis
- 8177 –
TimeAxisSubGrid
throws"queueMicrotask is not a function"
exception - 8179 –
ascending
config not working inGroup
feature
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
Version 5.6.4
2023-12-21FEATURES / ENHANCEMENTS
- The
Labels
feature now skips rendering unnecessary elements for labels without content.
API CHANGES
resourceTimeRangeRenderer
method fromResourceTimeRanges
feature is now a config on the Scheduler, making it available in framework wrappers (8035)
DEMOS
- ANGULAR Added new "Timeline histogram" Angular demo which is located in the "examples/frameworks/angular/timelinehistogram" folder
- REACT + VITE Added new "Timeline histogram" React + Vite demo which is located in the "examples/frameworks/react-vite/timelinehistogram" folder
- VUE 3 + VITE Added new "Timeline histogram" Vue 3 + Vite demo which is located in the "examples/frameworks/vue-3-vite/timelinehistogram" folder
BUG FIXES
- 6224 – Add event for
ColumnResize
to catch user resize action - 7542 – Removing partner does not break the
timeAxis
link - 7958 – Property
type
is missing inDataFieldConfig
- 7973 –
Timezone
wrong behavior when usingapplyChangeset
- 8024 – Event editor bottom toolbar missing top padding
- 8027 – Skip rendering empty labels
- 8071 – If
visibleDate
is set multiple times before paint, Scheduler goes into infinite loop - 8080 – Missing
TimelineHistogram
component in Angular / React / Vue packages - 8081 – Missing
TreeGrid
component in Angular / React / Vue packages - 8084 – Hide
scrollable
config from Menu docs
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
Version 5.6.3
2023-12-13FEATURES / ENHANCEMENTS
- Timeline zooming as enabled by the
zoomOnMouseWheel
config property now also responds to pinch-zoom touch gestures on touch devices - ANGULAR New "Property booking" demo (Angular) showing a demo booking application, using
ResourceTimeRanges
and theSummary
feature. The demo is located inframeworks/angular/booking
folder (7769) - REACT Documentation in "Quick start", "Guide" and "React Tutorial" is now updated with how to build React application in Vite for higher efficiency and better performance in development
API CHANGES
- DEPRECATED Please kindly note that
@bryntum/babel-preset-react-app
and@bryntum/cra-template-typescript-scheduler
,@bryntum/cra-template-javascript-scheduler
packages will not get any updates after6.0.0
version
BUG FIXES
- 880 – Tabbing to partially visible event breaks event navigation
- 1458 – Tooltip jumps trying to follow by the
TimeRange
element - 7698 – Remove overnesting from framework demos
- 7716 – Link is created to a task when trying to abort building the link
- 7779 – Dragging event in hidden resource causes exception
- 7889 – Adding a new event via
applyChangeSet
triggers auto sync - 7903 – Dependencies arrows not working when set
fromSide
/toSide
='top'
- 7929 – PDF Export event bars not correctly rendered when dependencies enabled
- 7946 – Console error when use not adjusted
timeAxis
with specific configs - 7952 – Can resize event out of original bounds
- 7967 – React Events with custom content disappearing during resize
- 7970 – Non-working days are not highlighted in an exported PDF
- 7972 – Event not shown when drag&drop between scheduler in fullscreen Mode
- 7992 – Crash after destroying scheduler and setting
timeZone
on the project when usingTimeRanges
features - 8006 – TypeScript
ResourceModel
missing timeRanges in Docs/TS definition - 8015 – Scheduler booking demo issues
- 8017 – Current timeline color is incorrect
- 8020 – Scheduler Stress Test Demo broken
- 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
Version 5.6.2
2023-11-24FEATURES / ENHANCEMENTS
- Tooltips such as the one shown by the
EventTooltip
feature can now stay visible when mouse exits the target element which triggered the tooltip to show via the newautoHide
config (4882) TimeRange
feature now offers to configure itshoverTooltip
shown when hovering a range header element- A CSS change (
max-width
on.b-sch-event-content
) in the previous release that was meant to simplify making event content sticky in some scenarios turned out to mess styling up in others, and have now been reverted. It needs to be handled by the application where applicable instead
API CHANGES
- The
year
viewPreset
now renders a full year if not date range has been provided - DEPRECATED The
eventBodyTemplate
function was deprecated in favor of returning the desired markup from aneventRenderer
function. It will be removed in 6.0 (7288)
BUG FIXES
- 7092 – Feature mixin on-owner events are not exposed on class
- 7716 – Link is created to a task when trying to abort building the link
- 7730 – Scrollbar presence not synced correctly for partners in FF
- 7839 –
TooltipTemplate
not working in time selection feature - 7851 – 0-duration TimeRange lines should float above event bars
- 7883 – Make column renderer more efficient
- 7891 – REACT
bigdataset
demo broken rendering
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
Version 5.6.1
2023-11-17FEATURES / ENHANCEMENTS
- A new config property,
hideRowHover
may be set tofalse
to indicate that the row hover background effect should also apply in the Scheduler. - Event content elements (
.b-sch-event-content
) now use amax-width
by default in horizontal mode, that prevents overflow in more scenarios when using sticky events (7812) - The
beforeEventDropFinalize
event now includes a new propertydropData
in thecontext
argument, please consult the docs for details (7367). - REACT Added new React Context demo that shows how to use state together with React renderers. The demo is located in
examples/frameworks/react-vite/renderer-context
folder (7747)
BUG FIXES
- 3865 – Conflicts when using both
RowCopyPaste
andEventCopyPaste
features with Scheduler - 4838 – Vertical mode missing top padding for rounded event style
- 5719 – YARN Can not install
@bryntum
product packages using yarn v2/v3 - 6035 – Scheduler with filter not doing Excel Export correctly
- 6726 – Events near the right edge of timeline disappear when scroll
- 7454 – Scheduler crashes when setting both
timeRanges
and onChange prop onBryntumProjectModel
- 7457 –
onChange
function becomes field in Scheduler ProProjectModel
- 7585 – REACT Start and end date is not updating in event content
- 7711 –
ScheduleTooltip
showing wrong time across DST changes - 7750 – Vite error
@charset must precede all other statements
- 7754 – Frameworks Thin packages not working with
pnpm
- 7764 – Grid row hover effect lost when mouseovering events
- 7773 – Crash when dragging event with connected non-rendered event
- 7793 – Error thrown in Nested Events example when dragging an event
- 7820 –
globalThis
should be defined in locales to support LWC - 7841 – The header menu’s "Show current timeline" does not work
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
Version 5.6.0
2023-10-26FEATURES / 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
thin
packages, 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 ResourceTimeRanges
feature now support rendering custom html into its range elements, via the newresourceTimeRangeRenderer
method available on the Scheduler class (4922)- The
Dependencies
feature now allow configuring the size (terminalSize
) and offset (terminalOffset
) from the event bar for terminals (connection points shown when hovering the bar). This lets you position the terminals fully inside or fully outside the bar. It also allows configuring delays before showing (terminalShowDelay
, to require an intentional hover on an event bar) and hiding (terminalHideDelay
, to allow hide animations, and to be more forgiving) them. Thedependencies
demo was updated to allow experimenting with these new options - CSS for milestones was slightly simplified thanks the conversion to use grid layout for event bars back in 5.0. If you use custom styling for milestones, you might need to update it
- Time ranges now support recurrence out of the box, you no longer have to subclass and mix
RecurringTimeSpan
manually (7217) - Milestone rendering was slightly tweaked for better visuals, milestones that overlap an events end date are now moved to the next band, although technically they do not overlap (since end dates are exclusive)
- TypeScript Functions and events declarations in typings were improved to contain all available parameters and return type (6961, 4456)
- Added a
Print
feature based onPdfExport
feature which allows using browser print dialog and not rely on backend (6218) @bryntum/scheduler-thin
bundle includes scss theme files insass/themes
folder (7445)- It is now possible to use asymmetrical
resourceMargin
by assigning an object withstart
(margin top in horizontal mode, margin left in vertical mode) andend
(margin bottom / margin right) properties (6185) ResourceHeader.headerRenderer
can now return a JSX with the React component which will do the actual rendering. The demo is located inexamples/frameworks/react/javascript/vertical
(762, 5808)- The
Group
feature may now group by multi-value fields meaning that rows may be a member of more than one group. See the newmulti-groups
example for a demonstration (7349) - The
TreeGroup
feature may now group by multi-value fields meaning that rows may be a member of more than one group. See the newmulti-treegroups
example for a demonstration (7365) - New
RowResize
feature allowing user to drag bottom row border to change row height (2843)
API CHANGES
- BREAKING
Core.util.helper.Point
class has been moved to solve circular module dependencies. It is now a named export of theCore.util.helper.Rectangle
module. Check upgrading guide for the details visibleDate
config now aligns the passed date withblock : start
by default during instantiation time- The behavior of the
DateTimeField
has changed when it is used withStartDateField
as its date component. If the value of the date field will be changed with the increment buttons, the result of the increment will update both date and time fields. Previously the value of time field was always preserved. This is only a breaking change if you are using calendars with non-working time (7038) - BREAKING TypeScript
ScrollOptions
typedef has been renamed toBryntumScrollOptions
to not interfere with TypeScript interfaceScrollOptions
. Check upgrading guide for the details (7385) - FRAMEWORKS New
BryntumSchedulerProjectModel
wrapper component has been added. Please check "Data binding" framework guides for the details - The behaviour of the
ViewPresetCombo
has been changed to better align with the functionality of "zooming". Additionally, there is a new config,useFixedDuration
, that defaults totrue
. This will ensure that aViewPreset
always starts and ends with its defaultmainUnit
(7448) - STYLING Default style of
TimeRange
border-lines was changed fromdotted
tosolid
- STYLING Default
text-transform
style of TimeAxis text in the Stockholm theme was changed fromuppercase
tounset
- STYLING The DOM placement of the various canvas layers (time ranges, column lines, etc.) were changed. If you have styled time range elements using location specific CSS selectors, you should review and ensure that your custom styling is applied
BUG FIXES
- 3212 – Destroyed scheduler still handles events
- 7327 – Milestone overlaps milestone doesn’t get detected
- 7497 – Layers demo issues
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
Version 5.5.5
2023-10-23API CHANGES
- TimeSpan
setStartEndDate
will now throw an Error if passing astart
value greater thanend
resumeRefresh()
will trigger a repaint by default as of6.0.0
- PERFORMANCE Using
syncDataOnLoad
will now only yield a single repaint of events - DEPRECATED The
PickerField.autoClose
config is no longer meaningful, it has been deprecated and will be removed in6.0.0
- Added
lockLayout
config on event resize feature to prevent events moving vertically during resize. This will be the default behaviour from version6.0.0
(7058) processItems
method now allows async validation to fix up the menu items (4855)
BUG FIXES
- 928 – React
onPaint
does not work whereas paint listener does - 1978 – Setting
scheduler.partner
toundefined
fails - 3744 – Drop location invalid if start date is before schedule start when dragging from grid
- 4870 – Packed events overlap when
fillTicks
istrue
and times don’t overlap - 6654 – Issues combining
infiniteScroll
with zoom - 7462 – Resource combo doesn’t close when event editor closed
- 7626 – Hard to reach dependency handlers with adjacent events
- 7631 – Mapping of
startDate
not respected by time zone calculation - 7635 – Event styling broken in Vue demo
- 7678 –
titleRenderer
not honoured if editor is not floating - 7687 – Scheduler Drag selection & click outside does not deselect the events properly
- 7704 – Highlight timespan bug on scroll
Version 5.5.4
2023-10-05FEATURES / ENHANCEMENTS
- A warning is now shown on console if an event is initially assigned to the same resource multiple times. That scenario is not supported and may lead to visual glitches
BUG FIXES
- 7479 – Events are disappearing on vertical scroll
- 7516 – Subsequent filter actions only consider initially filtered events
- 7534 – Aligning tooltip to a Point, with
x, y
offsets should work - 7563 – Combo value not updated in the input is some cases
- 7583 –
TimeZonedDatesMixin
timeZone
field missing null typing
Version 5.5.3
2023-09-15FEATURES / ENHANCEMENTS
- All records that is added (not loaded) to a Store which belongs to a Project that has a
timeZone
configured, is treated as "in" the configured time zone which means no time zone conversion will be applied to these record’s dates. It is now possible to change this behaviour by setting thetimeZone
field on a record before adding it to the Store. Set it to anotherIANA time zone
ornull
to apply time zone conversion to the added records - New
fieldfilters
demo showing how to add multi-filter UI working with a Scheduler. Demo is located inexamples/fieldfilters
folder - ReactVite New big dataset demo with enabled JSX event rendering. Demo is located in
examples/frameworks/react-vite/bigdataset
folder
BUG FIXES
- 6332 – Double-clicking on the timeaxis cell open and close the task editor immediately
- 6373 – Change Resource’s Recurring Events not updating Scheduler
- 6823 – Next event always scrolled into view after focused event deletion
- 6869 – Wrong
endDate
when create event in DST change date - 7012 –
syncDataOnLoad
breaks time zone conversion - 7076 – Scheduler zoomIn/zoomOut doesn’t keep center well
- 7305 – Error when drag invisible events when
managedEventSizing
isfalse
indragselection
- 7355 –
ResourceTimeRanges
not showing ifResourceStore
has filters - 7398 –
CrudManager
allows a load operation to append records. But they are then syncable - 7412 – Compress non-working time example on bryntum is crashing on zoom
- 7428 – Changing timeZone doesn’t move recurring
ResourceTimeRange
Version 5.5.2
2023-08-30FEATURES / ENHANCEMENTS
- You can now prevent row selection when clicking an event bar with the new
selectResourceOnEventNavigate
flag (7337) - You can now prevent row selection when clicking the empty area of a time axis cell bar with the new
selectResourceOnScheduleClick
flag (7317)
BUG FIXES
- 1491 –
TaskEdit
resets end time when user changesstartDate
- 2900 – Adding to
resourceStore
andresourceTimeRangeStore
doesn’t update reference - 3773 – Center date is moved when partner is added
- 7244 – Adding recurring events – only first event is selectable
- 7283 –
SchedulerTooltip
mouseOffset
stack overflow - 7312 –
scrollEventIntoView
not working correctly - 7316 – Event bar disappears on drop when async listener used
- 7346 – Reordering column added at runtime makes split scheduler crash
- 7379 – Support showing
EventTooltip
on click - 7380 – Inconsistent event firing of
beforeEventSelectionChange
andeventSelectionChange
- 7381 – Hiding dependency creation tooltip causes crash
Version 5.5.1
2023-08-16API CHANGES
- We added two public methods –
suspendChangeTracking
andresumeChangeTracking
to suspend and resumehasChanges
/noChanges
events on aCrudManager
- The icon element inside
TimeRange
elements was moved outside the label to simplify styling
BUG FIXES
- 6456 – Event bar jumps to past when drag-n-drop in 5 year zoom level
- 6994 – Error when zoom change when
infiniteScroll
is enabled - 7168 – Bug in exporting PDF when non-working time is filtered
- 7203 –
onVisibleDateRangeChange
is not subscriber onvisibleDateRangeChange
event but separated method - 7207 – Wrong typing for
record.setAsync
method - 7212 –
MultiAssignments
withresourceIds
clone issue - 7224 –
isCreating
flag gets "stuck" if the edit is vetoed - 7247 – Splitting a read-only Scheduler does not make splits read-only
- 7254 – Renderer method of Group Summary doesn’t trigger properly on smaller screen
- 7259 – Missing typings in
ResourceUtilizationFeaturesConfigType
after upgrading to version5.4.0
- 7272 – Time range header element out of sync with its body after element after resize is cancelled
- 7280 – Only one listener per event is relayed to splits
- 7284 – Event drag proxy misplaced when body has margin
- 7289 –
deselectAllOnScheduleClick
set tofalse
not working as expected - 7293 – Row animation visible during PDF Export
Version 5.5.0
2023-07-31This release is a replacement for the 5.4.3 patch release. It was changed to a minor version because of some larger changes behind the scenes to pave the way for future support for live updates in Scheduler Pro and Gantt.
FEATURES / ENHANCEMENTS
- Scheduler now extends
Grid.feature.RowReorder
feature. You do not need to make any changes unless you were extending it or imported from sources. If you did, you need to change base class to the new one - New
custom-event-rendering
demo showing how to render custom elements into the event bar - New
custom-event-buttons
demo showing how to render custom buttons into the event bar - New
airport
demo showing custom event bar styling for an airport
BUG FIXES
Version 5.4.2
2023-07-26FEATURES / ENHANCEMENTS
- The
Split
feature now relays listeners to all splits, and it also relays a (configurable) subset of the scheduler’s configs at runtime (7200, 7201)
BUG FIXES
- 6268 – ApplyChangeset On Event Store Not Change Custom Fields
- 6995 – VUE An exception when use
workingTime
config in calendar timeline view - 7162 –
EventDrag
copy enabled even when disabled - 7173 –
Tooltip
clocks do not update while draggingTimeRange
header element - 7180 – Event dragged from split gets stuck on header
- 7197 –
scrollEventIntoView
sometimes do not return a result to promise
Version 5.4.1
2023-07-13FEATURES / ENHANCEMENTS
- We have created a public repository to showcase Salesforce demos. All previous demos are merged into one Lightning Application which is easy to install to a new scratch org. You can find more information in updated guides and in this repository: https://github.com/bryntum/bryntum-salesforce-showcase#bryntum-salesforce-showcase
- We have created a public Salesforce org where this app is preinstalled. You can find link to it and login credentials on the updated examples page
BUG FIXES
- 1751 – Group renderer for timeaxis column duplicates content on group collapse
- 6077 – TypeScript
Model
constructors should allow second param - 6987 – REACT React component is not rendered correctly on expand / collapse
- 7040 –
nonWorkingTime
has an offset whentimeZone
used - 7043 –
enableMouseEvents
state forresourceNonWorkingTime
affects on event drop behaviour - 7099 – Dependency creation validates not correct when move cursor fast
- 7104 –
scheduleMouseEnter
&scheduleMouseLeave
incorrectly fired & documented - 7105 –
startDate
andendDate
not correct when pasting from other Scheduler - 7114 – Should rewrite the label of current time from initial config
- 7117 – When splitting horizontally outside resource row, split feature splits vertically
- 7118 – Splitting while event is selected throws console error
- 7132 – Calendar
ResourceFilter
change listener has wrong ‘oldValue’ on select
Version 5.4.0
2023-06-30FEATURES / ENHANCEMENTS
- This release introduces a new
TimelineHistogram
class which implements a grid with histogram charts displayed for rows in the timeaxis section. Please check the new Timeline histogram demo and the "Timeline histogram" guide for more details - The
EventCopyPaste
feature has been enhanced to use a page-global internal clipboard and also supports the browser’s native Clipboard API if accessible. This means that it is possible to copy and paste events between multiple instances of Scheduler or other Grid-based components. It is also possible to copy an event and paste it inside a Spreadsheet app like Excel (5308) Widget
has a new config,maximizeOnMobile
which takes effect only onfloating
widgets on a mobile device. It causes the widget to be maximized instead of positioned in order to accommodate the mobile virtual keyboard. This will make event editing much easier to use on mobile devices (6522)- On mobile devices,
type : 'checkbox'
is rendered as aslidetoggle
widget. The API and value is the same, it is just a more appropriate UI for the platform - We have added default editors for the
eventColor
field. There is one in theEventMenu
feature’s context menu and one in theEventEdit
feature’s event editing panel. Just setshowEventColorPickers
to true and the editors will appear - There is also a new
EventColorColumn
which can be added to any Scheduler. It renders a colored element which the user can click and select a new color for each event - Schedule has a new
Split
feature, that allows splitting the schedule into multiple parts (horizontally, vertically or both ways). Try it out in the newsplit
demo (3917) EventModel
has a newresourceIds
field, that can be used to assign multiple resources to the event without having to use assignment records (6502)- For a slightly better docs experience for most users, the docs browser now by default hides some more obscure APIs normally only used when implementing own widgets and features. Advanced users in need of these APIs can still opt in to see them using the
Show
menu in the docs browser - Added new
multiassign-resourceids
demo showing eventresourceIds
field usage (6936)
API CHANGES
- The
EventCopyPaste
feature’scopyEvents
andpasteEvents
has been made asynchronous due to the enhancements mentioned above - The
EventCopyPaste
feature’sbeforeCopy
andbeforePaste
events is now asynchronously preventable
BUG FIXES
Version 5.3.8
2023-06-28FEATURES / ENHANCEMENTS
- PERFORMANCE Scheduler now offers a
ignoreDomEventsWhileScrolling
config which you can set totrue
to ignore DOM events fired while scrolling to maximize scroll performance
BUG FIXES
Version 5.3.7
2023-06-20FEATURES / ENHANCEMENTS
EventSelection
now offers adeselectAllOnScheduleClick
flag to control if selection should be cleared when clicking the empty schedule area (6964)
BUG FIXES
- 3530 – State tracking manager logs incorrect steps when adding new event
- 6389 – Drag-and-Drop bug when
constrainDragToTimeSlot
set to true - 6589 – Touch moving event to the edge of the scheduler does not scroll the view on some browsers
- 6641 – Zooming with mouse wheel broken in RTL
- 6757 – Event wrongly positioned when some specific dates used with workingTime setting
- 6801 – Paste event doesn’t contain the pasted records in eventRecords
- 6874 – Fix docs and typing for
eventColor
field - 6875 – Resource headers not rendered in vertical mode if no events exist in the initial time span
- 6876 – Preset switching in Vertical mode issue
- 6889 – Phantom event element after dragging event holding shift
- 6908 – Console error when
eventDrag
feature disabled butdependencies
used - 6940 – REACT Tooltip shows wrong time
- 6982 – REACT
renderEvent
not triggering - 7016 – Context menu event creation adds the event even when canceling the event editor with
Cancel
button
Version 5.3.6
2023-05-26API CHANGES
- DEPRECATED Deprecated the
getEvents()
function ofResourceModel
, in favor of using theevents
property
BUG FIXES
- 6132 – ScrollTo functionality does not work with
infiniteScroll
enabled - 6689 – Setting
startDate
in EventEditor to null corrupts dates - 6693 – Multi assigned events not rendering properly when scrolling fast
- 6707 – It deletes the two events instead one when undo after a shift copy
- 6719 – Bad styling
- 6723 – Broken rendering after changing resource column width with grouping enabled
- 6759 – LWC Exception is triggered when creating a dependency
- 6777 – Method cannot be called at this state!
- 6782 – Displaying a tooltip while the data is being updated throws errors
- 6785 –
eventDragSelect
does not clear previous selection - 6816 – REACT
TypeError: _a.features may be undefined
Version 5.3.5
2023-05-11FEATURES / ENHANCEMENTS
- The
ResourceFilter
widget may now be configured to also filter theresourceStore
by configuringfilterResources
astrue
(6698) - New demo showing drag from external grid onto a Tree Scheduler. Demo is located in
examples/drag-from-grid-to-tree
folder - Added
eventClick
for nested events in the scheduler example called ‘Nested events’ (6412) - Column widths and hide/show state are synced between partnered schedulers with identical column sets (6682)
BUG FIXES
- 6384 – Inconsistent tool order in header of inline collapsed panel
- 6659 – Artefact in web sockets demo
- 6663 – Bad colors for selected event in react event renderer demo
- 6664 – Flicker when event resize starts
- 6680 –
TimeAxisViewModel
should round calculated start date to top header increment if possible - 6681 –
DatePicker
‘sactiveDate
should persist while it is focused - 6699 – Should record only 1 STM transaction for drag-create and following task edit user actions
- 6701 – IONIC
Scrollbar
width could not be determined under Ionic framework - 6730 – Multiple events are draggable even when
multiEventSelect
isfalse
Version 5.3.4
2023-04-28FEATURES / ENHANCEMENTS
- CrudManager now optionally includes the owning Scheduler’s
startDate
andendDate
as params in its load requests, via thepassStartEndParameters
config flag in Scheduler (6552)
BUG FIXES
- 6403 – Dropping events past noon gives unexpected results
- 6438 – Support
stickyEvents
feature in RTL mode - 6584 – Row select blinking on mobile after first select
- 6645 – Rendering breaks having two schedulers using different viewpresets
- 6647 – Tooltip offset increase on every show when dependencies feature enabled
- 6652 – Minified UMD bundle does not export
bryntum
namespace
Older versions
- Full release version history can be found here.