Scheduler – Change Log

Version 5.5.3

2023-09-15

FEATURES / 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 the timeZone field on a record before adding it to the Store. Set it to another IANA time zone or null 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 in examples/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
  • #7012syncDataOnLoad breaks time zone conversion
  • #7076 – Scheduler zoomIn/zoomOut doesn't keep center well
  • #7305 – Error when drag invisible events when managedEventSizing is false in dragselection
  • #7355ResourceTimeRanges not showing if ResourceStore has filters
  • #7398CrudManager 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-30

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

  • #1491TaskEdit resets end time when user changes startDate
  • #2900 – Adding to resourceStore and resourceTimeRangeStore doesn't update reference
  • #3773 – Center date is moved when partner is added
  • #7244 – Adding recurring events – only first event is selectable
  • #7283SchedulerTooltip mouseOffset stack overflow
  • #7312scrollEventIntoView 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 and eventSelectionChange
  • #7381 – Hiding dependency creation tooltip causes crash

Version 5.5.1

2023-08-16

API CHANGES

  • We added two public methods – suspendChangeTracking and resumeChangeTracking to suspend and resume hasChanges/noChanges events on a CrudManager
  • 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 infiniteScrollis enabled
  • #7168 – Bug in exporting PDF when non-working time is filtered
  • #7203onVisibleDateRangeChange is not subscriber on visibleDateRangeChange event but separated method
  • #7207 – Wrong typing for record.setAsync method
  • #7212MultiAssignments with resourceIds clone issue
  • #7224isCreating 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 version 5.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
  • #7289deselectAllOnScheduleClick set to false not working as expected
  • #7293 – Row animation visible during PDF Export

Version 5.5.0

2023-07-31

This release is a replacement for the 5.4.3 patch release. It was changed to a minor version because of some larger changes behind the scenes to pave the way for future support for live updates in Scheduler Pro and Gantt.

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

  • #7205 – Events not displaying with eventStore.applyChangeset
  • #7221VUE Vue vite app doesn't compile with Bryntum vue wrappers
  • #7229 – Assignments not saved correctly while create new event when use store's URLs to save data

Version 5.4.2

2023-07-26

FEATURES / 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
  • #6995VUE An exception when use workingTime config in calendar timeline view
  • #7162EventDrag copy enabled even when disabled
  • #7173Tooltip clocks do not update while dragging TimeRange header element
  • #7180 – Event dragged from split gets stuck on header
  • #7197scrollEventIntoView sometimes do not return a result to promise

Version 5.4.1

2023-07-13

FEATURES / ENHANCEMENTS

  • We have created a public repository to showcase Salesforce demos. All previous demos are merged into one Lightning Application which is easy to install to a new scratch org. You can find more information in updated guides and in this repository: https://github.com/bryntum/bryntum-salesforce-showcase#bryntum-salesforce-showcase
  • We have created a public Salesforce org where this app is preinstalled. You can find link to it and login credentials on the updated examples page

BUG FIXES

  • #1751 – Group renderer for timeaxis column duplicates content on group collapse
  • #6077TypeScript Model constructors should allow second param
  • #6987REACT React component is not rendered correctly on expand / collapse
  • #7040nonWorkingTime has an offset when timeZone used
  • #7043enableMouseEvents state for resourceNonWorkingTime affects on event drop behaviour
  • #7099 – Dependency creation validates not correct when move cursor fast
  • #7104scheduleMouseEnter & scheduleMouseLeave incorrectly fired & documented
  • #7105startDate and endDate 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-30

FEATURES / 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 on floating widgets on a mobile device. It causes the widget to be maximized instead of positioned in order to accommodate the mobile virtual keyboard. This will make event editing much easier to use on mobile devices (#6522)
  • On mobile devices, type : 'checkbox' is rendered as a slidetoggle widget. The API and value is the same, it is just a more appropriate UI for the platform
  • We have added default editors for the eventColor field. There is one in the EventMenu feature's context menu and one in the EventEdit feature's event editing panel. Just set showEventColorPickers 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 new split demo (#3917)
  • EventModel has a new resourceIds 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 event resourceIds field usage (#6936)

API CHANGES

  • The EventCopyPaste feature's copyEvents and pasteEvents has been made asynchronous due to the enhancements mentioned above
  • The EventCopyPaste feature's beforeCopy and beforePaste events is now asynchronously preventable

BUG FIXES

  • #5553reapplyFilterOnAdd doesn't work when adding resources before loading
  • #6717EventEditor bottom padding missing when setting scheduler to readOnly = true
  • #7077 – Splitting scheduler with scrolled timeline leads to broken header
  • #7078 – Paste Event menu option is visible without copying anything

Version 5.3.8

2023-06-28

FEATURES / ENHANCEMENTS

  • PERFORMANCE Scheduler now offers a ignoreDomEventsWhileScrolling config which you can set to true to ignore DOM events fired while scrolling to maximize scroll performance

BUG FIXES

  • #7034 – STM exception when double-clicking in partly visible resource
  • #7060PERFORMANCE Prevent partnering header that is hidden

Version 5.3.7

2023-06-20

FEATURES / ENHANCEMENTS

  • EventSelection now offers a deselectAllOnScheduleClick 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 but dependencies used
  • #6940REACT Tooltip shows wrong time
  • #6982REACT 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-26

API CHANGES

  • DEPRECATED Deprecated the getEvents() function of ResourceModel, in favor of using the events 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
  • #6759LWC 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
  • #6785eventDragSelect does not clear previous selection
  • #6816REACT TypeError: _a.features may be undefined

Version 5.3.5

2023-05-11

FEATURES / ENHANCEMENTS

  • The ResourceFilter widget may now be configured to also filter the resourceStore by configuring filterResources as true (#6698)
  • 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
  • #6680TimeAxisViewModel should round calculated start date to top header increment if possible
  • #6681DatePicker's activeDate should persist while it is focused
  • #6699 – Should record only 1 STM transaction for drag-create and following task edit user actions
  • #6701IONIC Scrollbar width could not be determined under Ionic framework
  • #6730 – Multiple events are draggable even when multiEventSelect is false

Version 5.3.4

2023-04-28

FEATURES / ENHANCEMENTS

  • CrudManager now optionally includes the owning Scheduler's startDate and endDate as params in its load requests, via the passStartEndParameters 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

Version 5.3.3

2023-04-21

FEATURES / ENHANCEMENTS

  • New state demo showing how to implement saving of UI state in the Scheduler
  • EventDragSelect now offer to extend selections by pressing CTRL or CMD-key (#6536)
  • Scheduler now shows a group divider line between resource groups in vertical mode (#6568)
  • ResourceTimeRanges can now be recurring out of the box, without the need for mixing in recurrence support on the store and model classes (#6611)
  • ANGULAR Bryntum Scheduler now ships with two npm Angular wrapper packages to support different versions of Angular framework. Existing @bryntum/scheduler-angular package is now designed to work with Angular 12 and newer versions, which use the IVY rendering engine. New @bryntum/scheduler-angular-view package is designed to work with Angular 11 and older versions, which use the View Engine rendering. Check Upgrading and Angular integration guides in documentation for more information (#6270)
  • ANGULAR angular-11-routing demo has been upgraded to show use of @bryntum/scheduler-angular-view package with Angular 11. Demo is located in examples/frameworks/angular/angular-11-routing/ folder
  • ANGULAR basic, dependencies, drag-between-schedulers, drag-onto-tasks, filtering, localization, pdf-export, recurring-events and tasks demos have been upgraded to use Angular 15. Demos are located in subfolders inside examples/frameworks/angular/ folder
  • ANGULAR legacy angular-6, angular-7 and angular-8 demos has been removed

API CHANGES

  • Time axis filters that produce an empty timeline are now temporarily disabled while you zoom. Filters should ideally check the scheduler.timeaxis.unit property to only apply it to relevant zoom levels

BUG FIXES

  • #6070 – Filtering timeAxis to exclude weekends produces wrong results
  • #6411 – Dependencies not redrawn when filtering rows in tree view
  • #6415zoomIn/zoomOut doesn't work properly with RTL + zoomPosition
  • #6426REACT Portals are re-created while resizing event
  • #6436ZoomIn/zoomOut does not keep center when RTL direction used
  • #6439 – Timeline jumps to wrong dates when change direction to RTL at runtime with infiniteScroll enabled
  • #6547TimeSpan timeZone-field missing in types
  • #6551 – Drag create shows invalid when using showExactResizePosition in 1 month increment resolution
  • #6555 – Nothing is displayed when having a single resource with variable resource widths
  • #6567 – Scheduler should only respond to datachange when visible
  • #6569 – Dependencies feature disables eventTooltip's offset config
  • #6592 – The tooltip does not display well and is cut off on the right side
  • #6593 – Toggling EventResize disabled state does not show resize handles

Version 5.3.2

2023-04-04

FEATURES / ENHANCEMENTS

  • REACT Added new TypeScript demo "Drag from Grid". Demo is located in examples/frameworks/react/typescript/drag-from-grid (#4891)
  • The crudmanager demo was updated to use a more extensive PHP + MySQL backend, based on the backend from the php demo in Gantt

API CHANGES

  • The time resolution increment for the minuteAndHour view preset was changed from 30 minutes to 15 minutes, plus the zoom order was slightly adjusted to prevent resolution increment from increasing when zooming in (#6446)

BUG FIXES

  • #3789UndoRedo widget doesn't catch the project if configured standalone in Angular
  • #5546 – Event drag create when using showExactResizePosition doesn't show invalid rendition for 0 duration event
  • #6037 – Inconsistent event menu actions when multiple events are selected
  • #6058 – Widget's showAnimation config not working properly
  • #6064 – Incorrect rendering of a timeaxis when forceFit enabled
  • #6105 – Inconsistent event menu copy/cut/paste actions when multiple events are selected
  • #6150scrollToDate with animation does not work at edges of date buffer
  • #6321 – Built in DateField validation not working properly
  • #6349 – Optimize dependency hovering performance
  • #6392 – Tree Scheduler with initial filters on the resource store renders too early
  • #6395 – Fixed angular production build of StateProvider helper classes
  • #6407 – Start and end date is incorrect in timeAxisHeaderContextMenu
  • #6434 – Syncing added events redraws multiple times
  • #6437 – Touch moving event to the edge of the scheduler does not scroll the view
  • #6484 – Invisible cells repainted with wrong data
  • #6511 – Should not allow dropping events completely out of view

Version 5.3.1

2023-03-17

API CHANGES

  • ProjectModel convenience getter methods (events, resources etc) now returns allRecords instead of records
  • 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

  • #5711 – Infinite scrolling doesn't work in RTL mode
  • #6057 – Copy-paste allow overlapping when allowOverlap is disabled
  • #6108 – Crashes after clicking on time axis header cell
  • #6228timeAxisHeaderMenuBeforeShow is not documented
  • #6248 – Context menus in vertical mode doesn't work as expected
  • #6293 – Multi event drag produces invalid results
  • #6299scheduleContext feature is throwing error when using with fillTicks
  • #63025.3.0 TypeScript typing issues
  • #6309 – Error on CrudManager.revertChanges()
  • #6311 – Crash when adding new resource in grouped vertical mode
  • #6339scrollEventIntoView() does not scroll with extendTimeAxis : false
  • #6343 – Events empty after scrolling
  • #6345 – Tooltip doesn't show overlap error when trying to overlap by eventResize
  • #6351 – Components do not render into containers not already in DOM
  • #6354 – Timeline disappears if removing Scheduler from DOM then putting it back
  • #6356 – Event overlap not prevented on resize with multi assigned events
  • #6366selectEvent doesn't work as expected for recurring instances

Version 5.3.0

2023-03-02

FEATURES / ENHANCEMENTS

  • The CSS used to support eventStyle and eventColor was changed, reducing the size of the unminified Scheduler specific CSS from just below 500kB down to 110kB, while also making it easier for us to add more colors and styles in the future
  • Support for Time zone conversion has been added to all Bryntum scheduling products. Simply set a IANA time zone identifier as value for the timeZone config and that's it. But, since time zones is not supported natively in JavaScript we strongly recommend to read our Time zone guide (#1533)
  • Scheduler now does less processing of already visible events when scrolling, boosting scroll performance with large number of events on screen simultaneously (#5651)
  • Localization demos updated to show up-to-date localization approach
  • AjaxHelper.fetch now supports using request body to pass parameters for non-GET requests. Please check addQueryParamsToBody argument in the method documentation (#2855)
  • Vertical mode now supports grouping resources (#1395)
  • REACT React components can now be used in event renderers (#763)
  • REACT New example that shows how to use React components in event renderers. Demo is localed in examples/frameworks/react/javascript/react-events folder.
  • Lots (but not all) of the not so informative object types in our TypeScript typings have been replaced with more specific types. Objects that in our JavaScript are used as maps are now declared as Record<keyType, valueType>, and for functions that accept object arguments many are replaced with anonymous type declarations, such as { foo: string, bar: number } (Partially fixed #5176)
  • Tooltips in the react-tooltips demo are now rich, with resource avatar and event times (#6184)

API CHANGES

  • DEPRECATED LocaleManager.registerLocale and LocaleManager.extendLocale are deprecated. LocaleHelper.publishLocale should be used instead.
  • BREAKING The syncEventRecord() function of the RecurrenceEditor was made private, it was unintentionally public before and there is no reason to use it directly.
  • When configuring a Scheduler with a time zone at initialization, and there's also a startDate and/or a endDate initially, those days will be treated as in local system time zone and will therefore be converted to the configured time zone. Previously (in 5.3.0-alpha-1 and 5.3.0-beta-1) those dates was treated as in the provided time zone

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

  • #5856Intl.supportedValuesOf fallback in time zone demos
  • #5889 – Events are not rendered according to the timezone when scheduler has a timezone
  • #5968 – Scroll To Date In RTL not working correctly
  • #5986eventStyle: 'line' broken
  • #6139 – Wrong behavior with fillTicks and snapRelativeToEventStartDate
  • #6216 – Event elements lost after reverting changes
  • #6217toggleNode event doesn't get triggered for parent with children : true
  • #6234 – Event bar disappears on drop with filtered timeaxis, snapRelativeToEventStart & fillTicks
  • #6250showCurrentTimeLine not working on filtered timeaxis
  • #6260 – Milestone is rendered incorrectly

Version 5.2.10

2023-02-17

FEATURES / ENHANCEMENTS

  • The beforeSend event triggered by CrudManager now allows async listeners (#6011)

API CHANGES

  • Recently browsers have added support for Unicode 15, which changes the output of Intl.DateTimeFormat when formatting time to include AM/PM. Those browsers now use "thin space" (\u202f) instead of regular space. This affects the DateHelper.format() function, but likely you do not need to take any action in your application. It also affects DateHelper.parse(), which has been updated to support the new unicode space (#6193)
  • DEPRECATED The eventRecord and assignmentRecord params of the eventKeyDown & eventKeyUp events fired by Scheduler were renamed to eventRecords and assignmentRecords to match the type (array)

BUG FIXES

  • #5109StickyContents not working correctly during dragMove in Safari
  • #5605 – Enable mouse Events config in Resource Time Range feature triggers an error
  • #5607 – Dependencies lines "lose" position when dragging
  • #5781 – Problem with pan enabled for 2 partnered schedulers
  • #5829 – Dependencies are rendered incorrectly after zooming
  • #5977 – Chained resourceStore doesn't work as expected
  • #6027eventKeyUp and eventKeyDown not being triggered correctly
  • #6094 – Error appeared on drop event into empty scheduler
  • #6109ScheduleContext feature cannot be disabled
  • #6113SimpleEventEdit editor has wrong size in vertical mode
  • #6119 – Zoom In with dependencies enabled stuck the Scheduler with big dataset
  • #6159EventEdit modal popup shows anchor arrow on first display

Version 5.2.9

2023-01-30

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #5006 – Add ViewPreset base property to documentation and TS types
  • #5956ResizeObserver loop limit exceeded warning
  • #5971 – Dependency terminals not shown when enabling feature at runtime
  • #5974 – Unable to extend 5971 without specifying 'headers'
  • #5979 – Summary cell opens context menu on vertical mode
  • #6019TypeScript Feature classes and configs have on event handlers exposed on owner class

Version 5.2.8

2023-01-19

BUG FIXES

  • #5386 – Improved panel collapse animation when collapsed panel header is perpendicular to expanded
  • #5814StateProvider throws during component construction
  • #5913 – Scheduler states it's still dragging, when canceling event drop in beforeEventDropFinalize
  • #5931 – Deprecated API use. Handle size is from CSS
  • #5957 – Console error when removing events in vertical mode
  • #5960 – TypeError: this.docScrollListener is not a function

Version 5.2.7

2023-01-11

API CHANGES

  • DEPRECATED The EventDrag feature's events beforeEventDrag and eventDragStart property event will be replaced by domEvent in 6.0. This to make it more clear that it refers to the original event from the DOM that initiated the Bryntum event (#5818)
  • DEPRECATED The handleSize and touchHandleSize configs to the EventResize feature is deprecated and will no longer have any effect. The handle size is determined from the theme's CSS (#5882)

BUG FIXES

  • #2258 – Dragged task hangs on drop position when drag and drop is finalized in beforeEventDropFinalize handler
  • #3995 – Using chained eventStore caused an error
  • #4411DragCreate fails when event store is reloaded while dragging
  • #4862 – Scheduler Pro percent bar in vertical mode wrong UI
  • #5604 – Empty timerange line header
  • #5729 – Dependency creation difficult on touch devices
  • #5850 – Zooming out on partnered schedulers crashes when infiniteScroll is enabled
  • #5891 – Support sort feature in vertical mode

Version 5.2.6

2022-12-28

FEATURES / ENHANCEMENTS

  • REACT React wrapper now supports React components in widgets and tooltips (#774)
  • Dependencies feature now fires dependencyContextMenu event when right clicking a dependency line (#5800)

BUG FIXES

  • #4455 – Copy-paste event to collapsed group should be a no-op
  • #4569 – Row outlined after event copy paste
  • #5486 – Horizontal scrollbar overlaps when the view becomes smaller
  • #5817 – Zoomed scheduler time header looks incorrect after exporting to multiple pages
  • #5822 – The endDate remains frozen when moving events more than once
  • #5825 – Infinite scroll demo shows lots of Toasts
  • #5830 – "No records to display" label is wrongly rendered

Version 5.2.5

2022-12-16

FEATURES / ENHANCEMENTS

  • Scheduler previously supported including milestone labels in the layout calculations to avoid overlap in a mode that "stretches" the diamonds (by configuring a milestoneLayoutMode). It can now do the same for the normal milestone rendition by combining milestoneLayoutMode with the new milestoneTextPosition : 'always-outside' setting. The milestonelayout demo was updated to showcase this (#3483)
  • RowCopyPaste feature supports copying rows in a tree. Copied records will have same hierarchy
  • Paste after cut and copy behavior is unified, records are moved below the paste target
  • Event drag feature is improved to allow copying dragged event. To copy, press and hold copy key (Shift by default). Copy can either add new assignment (default) or copy the event itself, this behavior is controlled by copyMode config. (#4940)
  • The Dependencies feature has a new clickWidth config, that lets you enlarge the clickable area for dependency lines. Tradeoff being that the lines will be more expensive to draw. The dependencies demo has been updated with a slider for adjusting it (#41)

BUG FIXES

  • #5036 – Zooming not centered where the cursor is
  • #5163 – Context menu not working correctly inside the schedule
  • #5267 – Copy action not copying child resources
  • #5378 – Resource gets hidden on event creation in first parent resource
  • #5545 – Center date is not restored correctly if state contains different size for locked grid
  • #5668 – Chained resourceStores from one CrudManager works incorrect
  • #5710 – Error in Widget detection of RTL environment
  • #5724 – Scheduler crashes when resources children changed to boolean
  • #5731 – Time axis cells are recycled when making schedule area small
  • #5770 – CopyPaste doesn't work with mapped event id field
  • #5780 – ICS export datetime stamp is not UTC

Version 5.2.4

2022-11-28

FEATURES / ENHANCEMENTS

  • We recently launched a new homepage over at bryntum.com, and have now slightly updated the styling for demos and docs to better match it (new logo, new header color, new font). Please note that this is not a change to our themes, only the look of the demos, and it won't affect your application

BUG FIXES

  • #4463 – Event drag create on big dataset generates error
  • #5307React error when changing Scheduler dataset in React Advanced demo
  • #5541 – Timeline header is not rendered when calling zoomToFit
  • #5595 – Fix panel collapse icon directions
  • #5633 – Crash when changing bar margin slider in demo

Version 5.2.3

2022-11-17

FEATURES / ENHANCEMENTS

  • The Dependencies feature has a new drawOnScroll config, that controls whether dependencies are dawn during scroll or only when scrolling ends. Setting it to false will boost scrolling performance for schedules with many dependencies (#5555)
  • Pan and EventDragSelect features now offer preventable beforePan and beforeEventDragSelect events which give you better control over when each feature is active.
  • The EventModel.split function can now accept a duration to split at in the form of a string such as '30 min'. The duration of the event will be converted into the specified units if they are different. The new event's duration will be in the same units. Splitting using a fraction of the event duration will continue to work as usual.

BUG FIXES

  • #4868 – Events UI does not update when using batch mode and update custom field
  • #5535 – Inconsistent End Date information in event tooltip when zooming out
  • #5551 – Store allRecords includes group footers twice
  • #5578LWC onScheduleScroll listener should be disabled for Salesforce

Version 5.2.2

2022-11-08

API CHANGES

  • DEPRECATED The behaviour of the store.data getter will be changed in 6.0. Currently, it returns the **initial** raw dataset, in 6.0 it will be changed to have the more expected behaviour of returning the data objects for the **current** state instead. See Grid's upgrade guide for more information (#5499)

BUG FIXES

  • #3600 – Hide resize handle if disabled on feature level
  • #5500eventResizeEnd doesn't return the resized eventRecord
  • #5520LWC Scheduler throws on body scroll if pan feature is active

Version 5.2.1

2022-10-28

BUG FIXES

  • #1996 – Maximum call stack size exceeded when updating event resourceId
  • #4443MergeCells set true resources are not collapsing correctly
  • #5149 – Angular demos now use component-local styles using ViewEncapsulation.None
  • #5377hideHeaders crashing vertical mode when combined with FilterBar feature
  • #5388DragHelper misplaces drag proxy on a scrolled page
  • #5422 – Scheduler "Custom event styling" demo has wrong styles
  • #5431Pan feature interferes with row reordering
  • #5432Pan feature buggy when reaching edge of window
  • #5446 – Wrong event position on invalid drop with expandOnCellClick enabled
  • #5447 – Exception on console when clear time and date on event edit
  • #5457 – Drag creating events fails with multiple vertical schedulers on a scrolled page
  • #5465EventStore.filter() does not trigger refresh

Version 5.2.0

2022-10-13

FEATURES / ENHANCEMENTS

  • A new widget, ViewPresetCombo, is available to Scheduler, SchedulerPro and Gantt. Put it in the toolbar, and it will provide easy-to-setup view switching. It uses the built-in ViewPresets functionality which is easily customized (#4539)
  • New booking demo, mimicking a real property booking interface
  • ResourceTimeRanges feature now has a enableMouseEvents flag which lets you interact with the resource time range elements (#1069)
  • The TimeRanges feature was refactored to support virtualization, it now only renders lines and ranges in view. This also applies to the NonWorkingTime feature, and will boost rendering performance on long time axes when either feature is used (#3757)
  • Added a new collapsible-columns demo showing how to use collapsible column groups (#4878)
  • You can now select a custom time span in the timeline header, see new time-selection demo (#2676)
  • The NonWorkingTime feature was made aware of the fillTicks config, cropping the non-working-time ranges for a better look when fillTicks is enabled
  • A new EventNonWorkingTime feature was added. When enabled, the parts of the event bars that intersect weekends will be shaded. Can be tried in the updated nonworkingdays demo (#5150)
  • Menu has a separator config to make it easier to visually separate menu items
  • The responsive state objects used in the responsive config of the Responsive mixin now support a once property to allow configs to only be set on first activation of the state
  • The Core.helper.DateHelper class has a new method formatRange method which can format date ranges, as well as new formatting options for week numbers
  • The TreeGroup feature introduced in 5.0.0 has been reworked and now also works in Scheduler. Check it out in the new tree-grouping demo
  • PdfExport feature is refactored to render content directly. This significantly improves performance and robustness by eliminating component scrolling. This behavior is enabled by default. You can revert to the old behavior by setting enableDirectRendering config on the export feature to false. (#4449)

API CHANGES

  • DEPRECATED The highlightWeekends config of the NonWorkingTime feature is superfluous, disabling the feature will yield the same result. It has been deprecated and will be removed in 6.0

Version 5.1.5

2022-10-12

FEATURES / ENHANCEMENTS

  • New records are assigned a generated id if none is provided. The generated id is meant to be temporary (a phantom id), and should be replaced by the backend on commit. Previously the id was based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the same id during a session, but if an application serialized the generated id (note, they should not) and then reloaded it, it would eventually collide with a new generated id. To prevent this, the generated ids are now based on a random UUID instead
  • Stores now by default show a warning on console when loading records that has generated ids, as a reminder that it should be replaced by the backend on commit

BUG FIXES

  • #4645 – Improve error message "Bryntum bundle included twice"
  • #4654REACT Bryntum widget wrappers don't accept all component properties in React 18

Version 5.1.4

2022-09-29

FEATURES / ENHANCEMENTS

  • The ScheduleContext feature now offers a triggeredBy config which may be 'mouseover'. It also offers a renderer which allows applications to customize the highlight style. Scheduler now fires a timelineContextChange event when the mouse moves from tick to tick and row to row within the schedule region. (#5035)

API CHANGES

  • DEPRECATED The events config of SchedulerDatePicker has been renamed to showEvents. The events property is deprecated but will continue to work during its deprecation period
  • DEPRECATED The 3rd param of the scrollResourceEventIntoView was deprecated and will be removed in a future release
  • DEPRECATED The 2nd param of the scrollAssignmentIntoView was deprecated and will be removed in a future release

BUG FIXES

  • #3198 – Order of events changes on scrolling if eventLayout: 'none'
  • #4374 – Console error if return false on preventable beforeAdd event on dependency store
  • #4995 – Should not allow creating or dragging events for readOnly resources
  • #5066 – Visual Splitter glitch in docs demo
  • #5130 – Scheduler partnering in vertical mode should use vertical scroll sync
  • #5155 – Timeline scrolls when event creation canceled
  • #5170 – When first region has width and last region is collapsed, Scheduler doesn't resize with container
  • #5231eventDragSelect does not select events when scrolling
  • #5272 – Group Summary not updating when display in header
  • #5315 – Scheduler has no vertical lines in vertical mode
  • #5316AvatarRendering should always set alt text by default

Version 5.1.3

2022-09-09

BUG FIXES

  • #415 – Improve docs on formatting currency values on NumberField
  • #3680 – Support Salesforce Winter 22 release
  • #5062 – Drag from grid demo is missing invalid indicator
  • #5125 – Setting an initial value for activeTab on a TabPanel no longer animates that tab into view
  • #5135 – Event is not selected after Ctrl + click following a multi-drag

Version 5.1.2

2022-08-29

FEATURES / ENHANCEMENTS

  • Configs that accept configuration options for a widget (or other class) are now (mostly) documented to accept a typed config object rather than a plain object. For example instead of {Object} tooltip - A tooltip configuration object, it is now {TooltipConfig} tooltip - A tooltip configuration object. This improves our TypeScript typings (transforms to Partial<TooltipConfig> in typings) when using such configs, but also improves our docs by linking to the configs of the type
  • Added a config to allow State Tracking Manager to ignore remote changes coming in a sync response. This allows user to only undo/redo local changes (ignoreRemoteChangesInSTM config on the ProjectModel/CrudManager) (#5083)

BUG FIXES

  • #2124 – UI issues related to recurring events
  • #2806 – Browser freezes while vertically scrolling Scheduler with many events selected
  • #4225 – Wrong endDate when dragging events over days at which DST/STD change
  • #4835 – Summary feature showing incorrect values when enabled after scheduler initialization
  • #4897ResourceFilter should continue to filter when its own Store is filtered
  • #4943 – Changing the time by dragging an event triggering an error
  • #4965 – Dependency creation still working when readOnly is true
  • #4981copy event menu item not able to copy multiple events
  • #4999AjaxStore beforeRequest doesn't allow to make changes in request body
  • #5017TypeScript Property type is missing in DataFieldConfig
  • #5018Vue Prop Validation fails for String options
  • #5076 – Cannot configure customized ViewPreset set
  • #5078eventDrag feature should support tip being configured away
  • #5117 – Drag drop stops working after drop during scrolling
  • #5122 – Dependencies not rendered after expanding parent nodes in a tree resource data set
  • #5124 – Improve docs for eventMouseEnter and eventMouseLeave

Version 5.1.1

2022-07-28

BUG FIXES

  • #4637mergeCells is not reactive to row height
  • #4849 – Scheduler Pro with dependencies | Vertical mode + Resize
  • #4908 – Collapsing resource tree column changes dependency lines
  • #4957ScheduleContext feature does not offer information about the selected context

Version 5.1.0

2022-07-21

FEATURES / ENHANCEMENTS

  • The Dependencies feature was refactored, it now supports vertical mode (shown in the new vertical-dependencies demo) and also continuously redraws dependencies during drag, resize and transitions. In addition to this it now also allows customizing the marker (arrow head), applying a radius to line corners for a more rounded look and taking full control over what enters the DOM using a renderer function (#4579)
  • Scheduler ResourceModel now has a columnWidth field which is used in vertical mode (#734)
  • Our TypeScript typings for string types that have a predefined set of alternatives was improved to only accept those alternatives. For example previously the dock config which was previously declared as dock: string is now dock : 'top'|'right'|'bottom'|'left'
  • Create React App templates now available
  • Configuring the CrudManager was made a little easier by introducing shortcuts for setting load and sync urls using the new loadUrl and syncUrl configs
  • Updated the built-in version of FontAwesome Free to 6.1.1
  • KeyMap is a mixin that allows for standardized and customizable keyboard shortcuts functionality. KeyMap is by default mixed in to Widget and therefore available to all Widget's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)
  • CrudManager uses parentIndex field to insert record to the correct position in the store (#4720)
  • CrudManager optionally allows sync() calls without local changes, to retrieve changes from the backend. Configure forceSync : true to enable this new behaviour (#4575)
  • The dependency hover tooltip can now be configured using the new tooltipTemplate config on the Dependencies feature (#1063)
  • The tooltip shown while creating new dependencies can now be configured using the new creationTooltipTemplate config on the Dependencies feature (#4655)

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 schedulerpro.lite.umd.js bundle is no longer available
  • BREAKING WebComponents has been removed from scheduler.module.js ES modules bundle. New bundle with WebComponents is scheduler.wc.module.js
  • BREAKING The draw(), drawDependency(), getConnectorEndSide(), getConnectorStartSide(), refreshDependency() and releaseDependency() functions on the Dependencies feature has mistakenly been public ever since the feature was created. With the refactoring described above they are all now either removed or made private
  • DEPRECATED The drawForEvent() fn of the Dependencies feature was deprecated. Calling it should no longer be necessary
  • Removed the removeUnassignedEvent config from Scheduler. It was moved to EventStore back in 4.0 and was supposed to have been removed at the same time, it has not had any effect since

BUG FIXES

  • #4681 – STM issues when using w/ backend
  • #4684 – Highlighted dependencies loose highlight on hover
  • #4685 – Dependency creation tooltip layout broken
  • #4691 – Scheduler responsive demo with small screen width
  • #4694 – Scheduler dependencies: "Drop anywhere" is not re-enabled after re-checking the button
  • #4696 – Parents sorted below children in docs
  • #4697 – Too dark code background in docs
  • #4850 – Time range label misplaced when showHeaderElements is false

Version 5.0.7

2022-07-13

BUG FIXES

  • #1667 – Changing rowHeight and barMargin breaks the layout
  • #3363 – Allow "Change only this event" option for a master event
  • #4681 – STM issues when using with backend
  • #4703 – Resources disappear if removed all and added new in scrolled position
  • #4756 – PDF export hangs trying to restore component
  • #4881 – Visible timeline is not restored properly for a scheduler with infiniteScroll
  • #4888 – Event disappear after dragdrop
  • #4899 – Timeline header is rendered incorrectly after restoring app state
  • #4916Fullscreen is not working on mobile Safari

Version 5.0.6

2022-06-20

FEATURES / ENHANCEMENTS

  • TimeRange feature now fires timeRangeHeaderClick, timeRangeHeaderDblClick and timeRangeHeaderContextMenu events when interacting with the header elements (#4790)

BUG FIXES

  • #4748 – Occurrence content element has wrong CSS class
  • #4777 – Web sockets demo broken
  • #4778 – Body mask now tracks grid resize to maintain cover of the body
  • #4808 – Typings are wrong for async functions

Version 5.0.5

2022-05-30

FEATURES / ENHANCEMENTS

  • Pan feature now is now also enabled when dragging in the time axis header. Can be disabled with the new enableInHeader config (#4594)
  • You can now render custom HTML contents inside TimeRange elements using the headerRenderer and bodyRenderer methods (#4613)
  • Added paste and copy events to the EventCopyPaste feature (#4552)

BUG FIXES

  • #4468 – Event disappears if dropped over group head
  • #4478 – Vertical time axis in Scheduler should show time labels aligned with lines like calendar week view
  • #4589EventDrag broken if async validation finalized without delay in beforeEventDropFinalize
  • #4591response.message not shown in error mask in case of response code not 200
  • #4592UndoRedo needs the transactionsCombo emptyText localized
  • #4607VUE Incorrect prop types in Vue wrapper
  • #4615 – Vertical scrolling broken in vertical mode
  • #4667 – Turn off infinite scroll feature when exporting to PDF

Version 5.0.4

2022-05-11

FEATURES / ENHANCEMENTS

  • The behaviour of the EventCopyPaste feature in a multi assignment scheduler is now better defined and also configurable using the new copyPasteAction config on the feature (#4495)
  • On a similar note the behaviour of EventDragSelect was also improved in a multi assigned scheduler. It now selects the assignments within the selection marquee rather than the events, giving you better control

API CHANGES

  • DEPRECATED The records param of the beforeCopy and beforePaste events triggered by the EventCopyPaste feature was deprecated in favour of the new eventRecords param

BUG FIXES

  • #3832 – Change from invalid resourceId to valid resourceId of event throws error
  • #4526 – DragMove doesn't work on touch enabled laptops
  • #4562REACT React wrappers have incorrect source mapping urls

Version 5.0.3

2022-04-26

API CHANGES

  • The validateResponse flag on CrudManager has been changed to default to true. When enabled, it validates CrudManager responses from the backend and outputs a message on console if the format isn't valid. This is helpful during the development phase, but can be turned off in production
  • New Vue 2/3 wrapper config option relayStoreEvents (defaults to false). When set to true, the events fired by stores are relayed to the Bryntum Grid instance
  • REACT React wrappers now include TypeScript definitions (#3378)

BUG FIXES

  • #4127LWC DomHelper.isInView() throws
  • #4222LWC Performance degradation in 5.0 release
  • #4225 – Wrong endDate when dragging events over days at which DST/STD change
  • #4387 – ASPNet demos should use trial packages in trial distribution
  • #4432LWC Mouse events do not work
  • #4461Vue wrapper triggers doubled dataChange events with different params
  • #4484zoomToFit does not work correctly when infiniteScroll is enabled

Version 5.0.2

2022-04-13

FEATURES / ENHANCEMENTS

  • ResourceFilter in Sidebar should be configurable with custom selection (#2006)
  • EventDrag now adds b-drop-target class to all valid drop target elements on drag start when an externalDropTargetSelector is provided. (#3888)
  • The previously private event visibleRangeChange has been removed in favour of the public event visibleDateRangeChange. If your app made use of this event, please replace the event name (#3876)
  • You can now set event drag-drop validity in the eventDrag listener (#4441)

BUG FIXES

  • #3528 – Content Security Policy (csp) demo doesn't work in Scheduler
  • #4219 – Milestones not rendered in vertical view
  • #4298b-animating class added/removed while dragging task onto schedule
  • #4371 – Summary tooltip should not be shown for empty cells
  • #4397 – Bad alignment in header
  • #4406 – Fixed items in disabled fieldset/radiogroup not being disabled
  • #4412 – Batch column updates do not show until next column update
  • #4416MergeCells feature prevents scrolling time axis
  • #4426 – Should be possible to invalidate an external drop by setting valid flag to false
  • #4467 – Changing the tree column causes expand icon sync issues
  • #4480 – Milestone element misplaced while dragging

Version 5.0.1

2022-03-04

BUG FIXES

  • #4267 – Disabling resources field breaks task editor
  • #4275 – SASS Compilation Error when min/max conflicts with native CSS
  • #4278cellContextMenu not working
  • #4283 – Crashing when exporting after filtering out a resource
  • #4293scrollEventIntoView bug when event falls in time span not matching workingTime

Version 5.0.0

2022-02-21

We are thrilled to announce version 5.0 of our Scheduler product. This release marks a big milestone for us, after more than a year of development. This update makes it much easier to combine multiple Bryntum products, and also includes new demos, improved state management as well as bug fixes and other 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

  • Each product has a new "thin" JavaScript bundle. The thin bundle only contains product specific code, letting you combine multiple Bryntum products without downloading the shared code multiple times (previously only possible with custom-built bundles from sources). Find out more in the What's new guide (#2805)
  • Each theme is now available in a version that only has product specific CSS in it, called a thin version. These files are name product.theme.thin.cssscheduler.stockholm.thin.css for example. They are intended for using when you have multiple different bryntum products on the same page, to avoid including shared CSS multiple times Read more about it in the What's new section in docs (#3276)
  • Model has a new readOnly field that is respected by UI level editing features to disallow editing records having readOnly : true. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)
  • New drag-from-list demo showing how to drag items from an external List widget onto events in the schedule (#3904)
  • Scheduler's event rendering now uses absolute positioning instead of translation to position the event bars. This was changed to make native position: sticky work, the stickyEvents feature is now very thin and more performant (#4055)
  • New ProjectModel setters/getters for assignments, dependencies, events, resourceTimeRanges, resources, timeRanges (#4043)
  • New deselectOnClick to allow simple deselection of events with click (#3221)
  • window references are replaced with globalThis which is supported in all modern browsers and across different JS environments (#4071)
  • A new function called downloadTestCase() was added to Bryntum widgets, it is intended to simplify creating test cases for reporting issues on Bryntum's support forum. Running it collects the current value for the configs your app is using, inlines the current dataset and compiles that into a JavaScript app that is then downloaded. The app will most likely require a fair amount of manual tweaking to reproduce the issue, but we are hoping it will simplify the process for you. Run scheduler.downloadTestCase() on the console in a demo to try it
  • The TimeAxis class now lets you change the generateTicks method during runtime (#4199)
  • Updated FontAwesome 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
  • When configured with a StateProvider and stateId, Scheduler state is stored automatically as stateful properties change (#1859)
  • Scheduler´s selectAssignment & deselectAssignment methods now receives the native DOM event allowing you to implement custom selection behaviors (#4234)

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)
  • DEPRECATED Schedulers horizontalEventSorterFn config was deprecated and will be removed in 6.0. It was replaced by a new overlappingEventSorter config, which works identically but has a better name (#3716)
  • Code of drag-from-grid and similar demos have been simplified and if you have used that code in your application you should make sure to review and update your code accordingly
  • Event bar root node now uses CSS grid layout for its internal layout. This may affect your appearance if you have customized the event bar markup
  • The following previously deprecated Scheduler configs, functions etc. where removed:
  • EventContextMenu feature – previously replaced by EventMenu feature
  • HeaderContextMenu feature – previously replaced by TimeAxisHeaderMenu feature
  • ScheduleContextMenu feature – previously replaced by ScheduleMenu feature
  • Argument draggedRecords of the EventDrag#validatorFn() function – previously replaced by assignmentRecords and eventRecords
  • Config EventEdit#showResourceField – previously replaced by resourceField property in items config
  • Config EventEdit#resourceFieldConfig – previously replaced by resourceField property in items config
  • Config EventEdit#autoClose – previously replaced by autoClose property in editorConfig config
  • Config EventEdit#showDeleteButton – previously replaced by deleteButton property in items config
  • Config EventEdit#showNameField – previously replaced by nameField property in items config
  • Config EventEdit#startTimeConfig – previously replaced by startTimeField property in items config
  • Config EventEdit#startDateConfig – previously replaced by startDateField property in items config
  • Config EventEdit#endTimeConfig – previously replaced by endTimeField property in items config
  • Config EventEdit#endDateConfig – previously replaced by endDateField property in items config
  • Config EventEdit#extraItems – previously replaced by items config
  • Param resourceRecord of the EventEdit#beforeEventSave event – previously replaced by resourceRecords param
  • Event TimeAxisColumn#timeAxisHeaderClick – previously replaced by the same event on Scheduler
  • Event TimeAxisColumn#timeAxisHeaderDblClick – previously replaced by the same event on Scheduler
  • Event TimeAxisColumn#timeAxisHeaderContextMenu – previously replaced by the same event on Scheduler
  • Function CrudManager#commit() – previously replaced by acceptChanges()
  • Function CrudManager#reject() – previously replaced by revertChanges()
  • Function CrudManager#commitCrudStores() – previously replaced by acceptChanges()
  • Function CrudManager#rejectCrudStores() – previously replaced by revertChanges()
  • Property CrudManager#timeRangesStore – previously replaced by timeRangeStore
  • Function DependencyStore#getEventPredecessors() – previously replaced by event.predecessors
  • Function DependencyStore#getEventSuccessors() – previously replaced by event.successors
  • Function EventStore#getEventsInTimeSpan() – previously replaced by getEvents()
  • Function EventStore#getEventsByStartDate() – previously replaced by getEvents()
  • Arguments startText, endText, startClockHtml, endClockHtml & dragData of EventDrag#tooltipTemplate()
  • Param context of the EventDrag#beforeEventDrag event
  • Param context of the EventDrag#eventDragStart event
  • Param context of the EventDrag#eventDrag event
  • Param context of the EventDrag#eventDragAbort event
  • Param newEventRecord of the EventDragCreate#dragCreateEnd event – previously replaced by eventRecord
  • Param proxyElement of the EventDragCreate#dragCreateEnd event – previously replaced by eventElement
  • Param proxyElement of the EventDragCreate#dragCreateStart event – previously replaced by eventElement
  • Param proxyElement of the EventDragCreate#beforeDragCreateFinalize event – previously replaced by eventElement
  • Param proxyElement of the EventDragCreate#afterDragCreate event – previously replaced by eventElement
  • Config ResourceTimeRanges#store – previously replaced by Scheduler#resourceTimeRangeStore
  • Config ResourceTimeRanges#resourceTimeRanges – previously replaced by Scheduler#resourceTimeRanges
  • Config TimeRanges#store – previously replaced by Scheduler#timeRangeStore
  • Config TimeRanges#timeRanges – previously replaced by Scheduler#timeRanges
  • Param data.source of the Dependencies#beforeDependencyCreateDrag event – previously replaced by source param
  • Param data of the Dependencies#dependencyCreateDragStart event – previously replaced by top level params
  • Param data of the Dependencies#dependencyValidationComplete event – previously replaced by top level params
  • Param data of the Dependencies#dependencyValidationStart event – previously replaced by top level params
  • Param data of the Dependencies#dependencyCreateDrop event – previously replaced by top level params
  • Param data of the Dependencies#afterDependencyCreateDrop event – previously replaced by top level params
  • Property DependencyModel#sourceEvent – previously replaced by fromEvent
  • Property DependencyModel#targetEvent – previously replaced by toEvent
  • Function DependencyModel#getSourceEvent() – previously replaced by fromEvent
  • Function DependencyModel#getTargetEvent() – previously replaced by toEvent
  • Argument tplData of Scheduler#eventRenderer() – previously replaced by renderData
  • Param tplData of the Scheduler#renderEvent event – previously replaced by renderData
  • Param resources of the Scheduler#beforeEventAdd event – previously replaced by resourceRecords
  • Function Scheduler#getVisibleDateRange() – previously replaced by property visibleDateRange
  • Config EventDrag#dragTipTemplate – previously replaced by tooltipTemplate
  • Event Scheduler#beforeExport – in favor of beforePdfExport event
  • Event Scheduler#export – in favor of pdfExport event

BUG FIXES

  • #758 – State mixin to use configurable's onConfigChange hook
  • #1953 – When constrainDragToTimeline is false the dragging outside a scheduler should be invalid
  • #1954 – Create a demo showing drag events to grid
  • #2192 – Events rendering is broken when prevent multiple event drag which is not constrained to the timeline
  • #3069 – Nested events misrendered if startDate starts before visible area
  • #3829 – Extra element appears after invalid drag drop when constrainDragToTimeline is disabled
  • #4147 – Milestone label overlaps element
  • #4151 – Bad animation when constrainToTimeline is false
  • #4207getDateConstraints not working in vertical Scheduler
  • #4212 – Error thrown when event is updated in a non-painted scheduler
  • #4227 – Event drag drop is broken in closed shadow root
  • #4239 – Vertical mode crashes if endDate is not provided in data

Version 4.3.9

2022-02-17

BUG FIXES

  • #4121 – Reasonable minimum task bar in both Gantt and Scheduler
  • #4167EventDrag feature does not allow configuration of its tooltip
  • #4184DomClassList not updated when cls changes using syncDataOnLoad

Version 4.3.8

2022-02-07

BUG FIXES

  • #4100DependencyStore does not sync when updating dependency

Version 4.3.7

2022-02-02

API CHANGES

  • DEPRECATED Scheduler beforeExport and export events (triggered by PdfExport feature) were deprecated in favor of the beforePdfExport and pdfExport events respectively. The old event names will be dropped in v5.0.0

BUG FIXES

  • #630 – Drag drop is not finalized correctly when fillTicks is enabled
  • #4050Tooltip aligned on clipped out area of target element
  • #4051CellTooltip does not update on next show for the same row, when its record is mutated
  • #4082 – Relayed listeners do not trigger onFunctions
  • #4092 – Code editor wrongly positioned in theme example

Version 4.3.6

2022-01-13

BUG FIXES

  • #3779 – Dependencies aren't attached to correct task after scrolling
  • #3798 – The Cancel button of the recurrence confirmation dialog doesn't cause rerender
  • #3933 – An error when using multiSelect filter field config for tree column
  • #3974 – Crash after dragging event with no content element
  • #3976 – Grid Column needs a maxWidth config
  • #3990 – Chrome & Content Security Policy causes failure because of debug code section
  • #3994 – Scheduler fails to scroll for drag-create when row-reorder is enabled

Version 4.3.5

2021-12-24

API CHANGES

  • DEPRECATED ResourceInfoColumn validNames is deprecated and will be removed in 6.0

BUG FIXES

  • #3544 – dragCreate takes wrong dates if weekStartDay is not default
  • #3752 – Restoring state after filterBy on grid (or scheduler) crashes
  • #3815 – Event listeners stop working properly after scroll using Firefox
  • #3896TypeScript Wrong typings of model class configs
  • #3899ScheduleTooltip feature should forward own configuration into it's tooltip the same as TooltipBase
  • #3907TypeScript Cannot pass Scheduler instance to Store.relayAll
  • #3918 – Event tooltip stays visible on target change if hideOnDelegateChange is enabled
  • #3927 – TimeAxis available space set too narrow on TimeAxisSubGrid resize
  • #3928 – DateHelper k format behaves incorrectly

Version 4.3.4

2021-12-13

FEATURES / ENHANCEMENTS

  • Updated advanced, animations, custom-event-editor and drag-from-grid Angular demos to use Angular 13 (#3742)
  • Added Angular demo which shows using TimeRanges feature with recurring time spans and TypeScript mixins. Demo is located at examples\angular\recurring-timeranges
  • Added React demo which shows using TimeRanges feature with recurring time spans TypeScript mixins. Demo is located at examples\react\typescript\recurring-timeranges

BUG FIXES

  • #3495 – Extra scrollbar space when resizing partner panels
  • #3508 – Deleting all future events does not update recurrenceRule
  • #3621TypeScript Improve typings of mixins
  • #3699 – Export generates empty pages if scrolled to bottom before
  • #3737 – EventStore's LoadDateRange is too large on ViewPreset changes
  • #3759 – Touch drag starts event drag creation
  • #3763 – EventStore's LoadDateRange emits twice on ViewPreset changes
  • #3767 – Incorrect expand/collapse functionality when the resources are initially collapsed
  • #3801 – Scheduler – White space appearing at the bottom of a tree grid
  • #3830 – resourceRecord param undefined when pasting event using Ctrl V
  • #3834 – Make the copy paste suffix configurable
  • #3837 – Scheduler with autoHeight places scrollbar below foreground canvas
  • #3850TypeScript Missing static properties in typings
  • #3852 – Crash if zooming while hovering event resize handle
  • #3853 – Cannot set row height for scheduler webcomponent
  • #3854DependencyColumn does not produce valid value for the Filter Feature
  • #3856 – Dragged event bar maintains sticky event styling after aborted drag

Version 4.3.3

2021-11-30

FEATURES / ENHANCEMENTS

  • EventSelection now offers an isEventSelectable template method which you can implement to prevent some events from being selected (#3647)
  • Scroll performance when using StickyEvents was improved by not processing events that are fully in view (#3709)

API CHANGES

  • The EventTooltip feature now hides the tooltip on scroll by default, whereas it previously realigned it. This change was done to boost scrolling performance, since realigning the tooltip has negative impact on that. To restore the old behaviour, configure the feature with scrollAction : 'realign'

BUG FIXES

  • #3370 – Recurring range performance issue if many ranges used
  • #3620 – Milestone's left/right label position is off
  • #3635 – Drag Error with constrainDragToTimeline: false
  • #3640 – Left/right labels not vertically centered in demo
  • #3645 – Dependency links are not shown up at browser zoom level 75%
  • #3648DOCS Content navigation is broken
  • #3662 – Partnered scheduler collapse state not synced
  • #3683 – Not possible to set constrainDragToTimeline in beforeEventDragListener
  • #3700REACT Equipment list empty in drag-onto-tasks demo
  • #3702 – Events not shown when eventId or resourceId of assignments use dataSource
  • #3715 – Infinite scroll changes height of Timeline viewport momentarily
  • #3720dataSource property not working on dependency from and to fields
  • #3735eventMenuBeforeShow event doesn't expose browser event
  • #3740 – Support async beforeshow event on a widget
  • #3743DOCS web.config file for Windows IIS server
  • #3785infiniteScroll does not re-center when clicking the rightmost point of the horizontal scrollbar
  • #3800 – Investigate performance with recurring ResourceTimeRanges

Version 4.3.2

2021-10-29

FEATURES / ENHANCEMENTS

  • EventCopyPaste feature now fires beforeCopy and beforePaste events to let you prevent the actions (#3303)
  • Added a new React demo that shows how to use state to bind events and resources to Scheduler. Demo is located in examples/frameworks/react/javascript/react-state folder (#3366)

BUG FIXES

  • #3442 – Recurring events doesn't work in vertical mode
  • #3603 – ResourceTimeRange showing content from reused event element
  • #3604 – Events still rendered after returning false from beforeEventAdd listener

Version 4.3.1

2021-10-21

FEATURES / ENHANCEMENTS

  • Added a new demo using a big data set in a tree scheduler, called bigdataset-tree. Optionally also displays ResourceTimeRanges and Dependencies
  • Bumped builtin Font Awesome Free to version 5.15.4

BUG FIXES

  • #2481EventCopyPaste forces single assignment mode
  • #2495 – Should be possible to disable StickyEvents dynamically
  • #2696 – Resource Histogram is not aligned when partnered on the fly
  • #3432ANGULAR EventTooltip template is shown only once when displaying customElement
  • #3479 – Crash after removing multiple events using keyboard
  • #3515 – Setting resourceTimeRange store data breaks the view
  • #3523 – Dragging events with Ctrl key pressed always adds to selection
  • #3539 – Resource time ranges are not rendered for initially invisible resource rows
  • #3563 – Feature toggle event for baselines feature does not fire
  • #3567 – Minified css bundle contains unicode chars
  • #3568 – Incorrect visibleDateRange in horizontal scroll listener when changing view preset
  • #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.)
  • #3579 – Crash when combining resourceTimeRanges and eventRenderer with custom content
  • #3593 – Weekly recurrence does not handle Sunday properly

Version 4.3.0

2021-10-12

FEATURES / ENHANCEMENTS

  • BREAKING @babel/preset-env config target chrome: 75 is now used for the UMD bundle. This decreases bundle size and improves performance for modern browsers (#3201)
  • Legacy Angular demos for versions 1-5 were removed due to incompatibility with the new UMD bundle format
  • Dependency drawing was sped up a bit by not always recalculating dependency bounds. This change will give a boost to scroll performance for schedules with many dependencies (#3486)

API CHANGES

  • TimeAxisColumn now subclasses WidgetColumn (before it was a Column), this should not affect your code. This opens up for rendering widgets embedded in row cells, see this demonstrated in the examples/embedded-chart demo in Scheduler Pro
  • DEPRECATED Buttons menuIconCls config was deprecated in favor of the new menuIcon config, which better matches the naming of other configs

BUG FIXES

  • #2811 – Zoomed-out dependencies do not display correctly
  • #3449ResourceTimeRanges disappear when many tasks are overlapping on a resource
  • #3472 – Error after drop while finalizing async beforeEventDropFinalize event after switching browser tab
  • #3473 – Dependencies not repainted after editing event duration
  • #3474 – Fix and update React Advanced JavaScript demo
  • #3476DragCreate does not work after scrolling on Firefox
  • #3477 – Resource time range gets the name of the event after re-add
  • #3482 – EventStore's add event not being emitted when editing occurrences
  • #3509 – Tooltip position is wrongly recognized after moving event out of schedule
  • #3521 – Time range and resource time range should not share z-index

Version 4.2.7

2021-10-01

FEATURES / ENHANCEMENTS

  • ComboBox can now be configured to accept unmatched typed filter strings to create a new record. Use the createOnUnmatched config to enable this. This may be configured as a function to create the new record in an app-specific way. See the eventeditor example for usage (#3249)
  • You can now force single assignment mode using the singleAssignment config on EventStore (#3287)

BUG FIXES

  • #1481 – Recurring events repeats endless after delete one of occurrences
  • #3166 – Dependency editor Lag field does not use dependency.lagUnit value
  • #3413 – Correct DST handling in monthly recurrence for nth weekdays of a month
  • #3422LWC Scheduler pro doesn't render all events
  • #3444 – Time axis header is broken
  • #3449 – ResourceTimeRanges disappear when many tasks are overlapping on a resource
  • #3456 – End after X time setting not applies for event with end on date setting
  • #3458 – Document nested fields
  • #3479 – Crash after removing multiple events using keyboard

Older versions

  • Full release version history can be found here.