Scheduler – Change Log

Version 5.2.4

2022-11-28

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #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

Version 4.2.6

2021-09-15

FEATURES / ENHANCEMENTS

  • The ResourceTimeRanges feature has a new tabIndex config that lets you control if the ranges are focusable/reachable using tab or not (#3391)

BUG FIXES

  • #3177 – React custom-event-editor demo issues
  • #3208 – Header is rendered incorrectly for monthAndYear preset
  • #3370 – Recurring range performance issue if many ranges used
  • #3376 – Drag create breaks group summary
  • #3383 – Setting store.data throws if syncDataOnLoad:true while re-assigning data with custom fields
  • #3387 – Group header incorrect when showing summary in header
  • #3388 – GroupSummary counts wrong for the first tick if event ends in that tick
  • #3408 – Updated typings to support spread operator for method parameters

Version 4.2.5

2021-09-08

FEATURES / ENHANCEMENTS

  • ProjectModel now fires a dataReady event when the engine has finished its calculations and the result has been written back to the records (#2019)
  • The API documentation now better communicates when a field or property accepts multiple input types but uses a single type for output. For example date fields on models, which usually accepts a String or Date but always outputs a Date (#2933)

BUG FIXES

  • #223 – View preset should support any number of headers
  • #1482 – Show a tooltip when drag an event from the grid to scheduler
  • #2756 – Row height is not recalculated when collapsing group when using collapseToHeader
  • #3273 – Follow cursor on event resize when using fillTicks
  • #3283 – Resources grouping works incorrect with some data set
  • #3313 – Allow String, String and Object in cls getter for subclassing EventModel
  • #3322 – Add dataChange event to framework guides
  • #3323 – Forward step button in toolbar not working
  • #3330 – Syncing records with syncDataOnLoad throws an error
  • #3342 – Bug when combining simpleEventEdit and eventEdit
  • #3345 – AspNet demos use wrong @bryntum npm package version
  • #3355 – Column cell tooltip misplaced with hideDelay = 0
  • #3356EventResize#showTooltip config has no effect
  • #3357OnBeforeEventDrag not working
  • #3374 – Crash after filtering
  • #3377 – Drag create first creates long bar, then hides it

Version 4.2.4

2021-08-27

FEATURES / ENHANCEMENTS

  • The EventDragCreate feature has a new config called lockLayout. Set it to true to emulate the pre 4.2 drag create behaviour, locking events in place until user finishes the drag gesture. Also applies some styling to differentiate the event being created from the existing events when the config is used (#3228)
  • ScheduleTooltip feature has a new config hideForNonWorkingTime which hides it when hovering weekends and other non-working time ranges
  • Scheduler's project (that holds all of its stores) now triggers a change event when data in any of the stores changes. Useful to listen for to keep an external data model up to date for example. This event is also relayed by Scheduler as dataChange, to allow easier binding in frameworks (#3281)

API CHANGES

  • DEPRECATED The store property on the TimeRanges feature was deprecated. The corresponding config was deprecated in 4.0, the property should have been flagged at the same time

BUG FIXES

  • #794 – Dependency creation tooltip is initially misaligned
  • #1158 – Filtering out all resources in vertical mode should show empty message
  • #1432 – Scheduler doesn't take DST into account for event duration
  • #1702 – Error if no value in the field used in dataSource paths
  • #2501 – Scheduler in vertical mode should stretch foreground canvas as in horizontal mode
  • #2521 – Not possible to set resourceTimeRangeStore on Scheduler
  • #2887 – Changing event's data while resizing causes issues
  • #2971 – ResourceTimeRangeStore updates not tracked by STM
  • #3116 – Gantt throws on task terminal drag
  • #3150 – Allow EventDragCreateFeature to opt out of finalizing by resizing to zero width
  • #3180 – Drag create does not flip edges correctly
  • #3219 – Replacing events is slow
  • #3231 – Render event for resource time ranges does not fire anymore
  • #3251 – Document recurrent time ranges for timeranges feature
  • #3253 – Crash when dragging row in drag-from-grid demo in vertical mode
  • #3254 – Vertical resourceColumns fillWidth & fitWidth configs have no effect
  • #3262 – Vertical time axis column content overflows its cell
  • #3263 – Deleted dependency still rendered
  • #3265 – Docs are not scrolled to the referenced member
  • #3282 – Dragging the thumb in infinite scroll causes overscrolling
  • #3283 – Resources grouping works incorrect with some data set
  • #3290 – Schedule tooltip should offer to hide itself when hovering non working time
  • #3291 – Scheduler dependency tooltip should render the dependencyIdField rather than task.id
  • #3292 – Events disappear in Scheduler on vertical scroll
  • #3297 – Scheduler resource time range name (label) not visible
  • #3298 – Existed in store events not assigned to new added resources if loaded on demand
  • #3300 – Cannot use external URL for resourceImagePath
  • #3305 – Guides look bad in the docs search results
  • #3306 – Doc browser does not scroll to member
  • #3327 – Not possible to combine eventEdit + simpleEventEdit features
  • #3332LWC Exception when realigning popup

Version 4.2.3

2021-08-05

FEATURES / ENHANCEMENTS

  • You can now define the default new event duration when double clicking schedule by setting config createEventOnDblClick : { useEventModelDefaults : true }. When setting config useEventModelDefaults to true, the default duration and durationUnit will be read from the default values of the duration and durationUnit fields of the EventModel. (#3234)
  • CrudManager can now log warnings to the browser console when it detects an unexpected response format. To enable these checks please use the validateResponse config (#2668)
  • Fixed a scroll performance regression introduced in version 4.2.2
  • NPM Bryntum Npm server now supports remote private repository access for Artifactory with username and password authentication (#2864)
  • TYPINGS Type definitions now contain typed features configs and properties (#2740)

API CHANGES

  • DEPRECATED PdfExport feature export event is deprecated and will be removed in 4.3.0. Use export event on the Scheduler instead
  • DEPRECATED Scheduler beforeExport event signature is deprecated and will be removed in 4.3.0. New signature wraps config object to the corresponding key

BUG FIXES

  • #2948 – CrudManager should handle autoSync during sync
  • #3116 – Gantt throws on task terminal drag
  • #3126timeAxisSubGrid is missing from Scheduler typings
  • #3199 – Setting partner to vertical scheduler in runtime throws
  • #3203 – Crud Manager not sending assignment record
  • #3205 – Scheduler: Summaries not "counted" when event ends outside of current date range
  • #3210 – Drag to create render issue
  • #3232 – EventModel.set() and normalization bug – event moves instead of resizing

Version 4.2.2

2021-07-21

FEATURES / ENHANCEMENTS

  • You can now distinguish new events being created using drag create (or double clicking in the schedule) by checking the Model#isCreating flag. In the DOM, a new CSS class b-sch-creating has been added to all events that are being created
  • Added a new hideRangesOnZooming config to NonWorkingTime feature (#2788). The config allows to disable the feature default behavior when it hides ranges shorter than the base timeaxis unit on zooming out
  • TimeRange feature can now show a tooltip when hovering a time range header element, by using the new tooltipTemplate config (#3194)
  • NPM Bryntum Npm server now supports npm token command for managing access tokens for CI/CD (#2703)

BUG FIXES

  • #201 – Line event styles should go from top to bottom in vertical mode
  • #2071 – Support configuring eventeditor / taskeditor child items with 'true' value
  • #2661 – DateTime field in EventEditor does not allow selecting a date same as max value
  • #2666 – Sticky events content positioning issue while scrolling
  • #3141 – Event store optimization
  • #3146 – Scheduler renders too many events for single resource
  • #3147 – Drag create finalization code should not throw when scheduler instance is destroyed
  • #3148ANGULAR Icon misrendered in dependency demo
  • #3149 – Event drag tooltip misrendered after dragging task out of schedule then back in
  • #3154 – Engine in Scheduler takes too much time to handle the data
  • #3167 – LWC bundle is missing from trial packages
  • #3178 – Syntax highlighter messes up code snippets in docs
  • #3181 – Partnered scheduler does not update after assigning a task in Gantt assignment column
  • #3200 – showTooltip config of EventDragCreate has no effect

Version 4.2.1

2021-07-07

FEATURES / ENHANCEMENTS

  • Added throttle/buffer options for event listeners (#2590)
  • FRAMEWORKS Added scheduleContextFeature to frameworks wrappers (#3135)

BUG FIXES

  • #3046 – Events being dragged with the StickyEvents feature enabled should keep event inner text in view
  • #3117 – Improve the docs to show how to access eventRecord in beforeShow listener
  • #3125 – Error when summary feature enabled event starts at time axis end
  • #3131 – Browser unresponsive with large data set
  • #3134 – ScheduleContext should be off by default
  • #3136NPM Running npm install twice creates modified package-lock.json file
  • #3139 – Support on and un methods for eventTooltip feature instance

Version 4.2.0

2021-06-30

FEATURES / ENHANCEMENTS

  • Scheduler has a new config option infiniteScroll meaning that as the user scrolls the timeline back or forward in time, the "window" of time encapsulated by the TimeAxis is moved and the EventStore fires a loadDateRange event (#1114)
  • Dependencies can now be created by dropping on the target event without hitting the terminal circle element. The defaultValue of the DependencyModel type field will be used in this case. (#3003)
  • Dependency creation can now be finalized asynchronously, for example after showing the user a confirmation dialog
  • The EventResize feature now uses the task's data to change the appearance by updating endDate or startDate live but in batched mode so that the changes are not available for server sync until the operation is finished (#2541)
  • EventResize now allows resizing an event to be zero duration, enable this behavior with the new allowResizeToZero config. (#2945)
  • Added "Upgrade Font Awesome icons to Pro version" guide
  • Updated "Replacing Font Awesome with Material Icons" guide

API CHANGES

  • DEPRECATED The resources param of the beforeEventAdd event fired by Scheduler was renamed to resourceRecords and will be removed in 5.0
  • DEPRECATED The newEventRecord param of the dragCreateEnd event fired by Scheduler was renamed to eventRecord and will be removed in 5.0

LOCALE UPDATES

  • removeRows label of CellMenu & GridBase was removed
  • Value of removeRow label of CellMenu & GridBase was updated to say just 'Remove'
  • RowCopyPaste locales were updated to just say 'Copy', 'Cut' & 'Paste'. copyRows, cutRows & pasteRows keys were removed
  • EventCopyPaste locales were updated to just say 'Copy', 'Cut' & 'Paste'. copyRows, cutRows & pasteRows keys were removed

BUG FIXES

  • #2366 – Drag to Create – Selection Spans entire resource row instead of an event block
  • #2706 – Drag and drop is not accurate when scrolling vertically
  • #3044 – Dragged event misplaced on scroll
  • #3047 – Time axis header formatting broken
  • #3064 – Vertical demo summary is empty after zooming
  • #3099 – Setting eventStore.data with enabled syncDataOnLoad doesn't update rendered events
  • For more details, see What's new and Upgrade guide in docs

Version 4.1.6

2021-06-23

BUG FIXES

  • #110 – Group and Sort features should support custom sorting functions
  • #2756 – Row height is not recalculated when collapsing group
  • #2977 – Summary feature and Filter feature work slow together
  • #3005VUE-3 Problem with Critical Paths due to Vue Proxy and double native events firing bug
  • #3021 – Event editor should not allow end date before start date
  • #3026VUE-2 and VUE-3 typescript type declarations are missing
  • #3078 – Avatars initials not rendering inside perfect circle

Version 4.1.5

2021-06-09

FEATURES / ENHANCEMENTS

  • The behaviour when dragging unselected events has changed slightly. Scheduler now selects the event from which a drag originates, whereas previously it did not
  • TYPINGS API singleton classes are correctly exported to typings (#2752)
  • Added a new ResourceCollapse column to toggle eventLayout of a resource between overlap and stack. A new resource-collapsing demo has been added to showcase the feature (#2979)
  • Scheduler now has a minHeight of 10em by default. This assures that the Scheduler will get a size even if no other sizing rules are applied for the element it is rendered to. When the default minHeight is driving the height, a warning is shown on the console to let the dev know that sizing rules are missing. The warning is not shown if a minHeight is explicitly configured (#2915)

BUG FIXES

  • #1358 – EventTooltip configs are missing
  • #2949 – Schedule context menu should not be shown when clicking empty area below rows
  • #2953 – UndoRedo buttons always disabled if used in event context menu
  • #2958 – Weekly Repeat event editor doesn't fit day names
  • #2961 – Recurring event rule is not working correctly for Week/Day view
  • #2974 – eventRecord property not available in onBeforeShow listener
  • #2990ANGULAR Preventable async events don't work
  • #2991 – Events disappear after scrolling
  • #3000 – Scheduler pro scrolling with touchpad not working properly on Firefox

Version 4.1.4

2021-05-28

FEATURES / ENHANCEMENTS

  • TypeScript definitions updated to use typed Partial<> parameters where available
  • Buttons now has a new style b-transparent that renders them without background or borders (#2853)
  • NPM repository package @bryntum/scheduler now includes source code (#2723)
  • NPM repository package @bryntum/scheduler now includes minified versions of bundles (#2842)
  • FRAMEWORKS Frameworks demos packages dependencies updated to support Node v12

API CHANGES

  • 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

  • #31 – Bugs with selection state and scroll position after crudManager.load()
  • #2104 – "Core" code not isomorphic
  • #2519 – Vertical mode resourceStore.filter does not hide all resources even if filter result is empty
  • #2520 – Events are misaligned when changing to summer time
  • #2575 – Memory leak when replacing project instance
  • #2783 – CellMenu not triggered on iPhone's with 3D touch enabled
  • #2834 – Core should not use b-fa for icon prefix
  • #2875 – Selected events cleared after aborted drag drop
  • #2880 – Undoing a deleted event inserts two events
  • #2882 – Snapping not enabled when dragging multiple events
  • #2898 – eventKeyDown / eventKeyUp missing event param
  • #2901 – Focus is lost when scrolling using native scrollbar
  • #2903 – Event Edit modal closes on iPhone when user taps "Done" on the keyboard
  • #2919 – Crash when moving mouse after mouse down and all events are removed before starting drag
  • #2928 – Drag drop not finalized properly if dragged events are removed while dragging
  • #2935 – Error when scrolled vertically and reducing data set size

Version 4.1.3

2021-05-13

FEATURES / ENHANCEMENTS

  • Bumped the built-in version of FontAwesome Free to 5.15.3 and added missing imports to allow stacked icons etc
  • Bumped the @babel/preset-env config target to chrome: 75 for the Module bundle. This decreased bundle sizes and improved performance for modern browsers
  • Vertical scroll performance was improved by limiting how far out of view events are drawn. Should especially help for scenarios where stacking leads to large row heights
  • Updated Angular Wrappers to be compatible with Angular 6-7 in production mode for target es2015
  • EventResize now has a configurable tooltipTemplate so you can easily show custom contents in the resizing tooltip See updated 'tooltips' demo to try it out (#2244)
  • Added new encoder.requestData config for Crud Manager allowing to put static info into request data object (#541)

API CHANGES

  • DEPRECATED EventDrag#dragTipTemplate was renamed to tooltipTemplate to better match the naming scheme of other features
  • DEPRECATED The startText, endText, startClockHtml, endClockHtml, dragData params of the EventDrag dragTipTemplate / tooltipTemplate methods have been deprecated and will be removed in 5.0

BUG FIXES

  • #509 – Drag from Grid demo should take in account allowOverlap
  • #1974 – Not possible to add event listeners to EventTooltip feature
  • #2566 – Committing CSS class not cleared correctly
  • #2646 – Resource time zones are not exported correctly
  • #2690ANGULAR Scheduler can't use custom fields in production build
  • #2704 – setTimeSpan works incorrect if workingTime hours defined
  • #2705 – Loading tree data first time with children true for the first node makes other nodes to ignore their children
  • #2754 – Vue error appeared on create new event in custom editor if dependencies created before
  • #2770 – Column lines misaligned when switching locale
  • #2771 – Non-working days demo crash
  • #2774 – Drag drop not finalized if eventStore data is cleared when dragging multiple events
  • #2778 – Wrong module declaration in typings file
  • #2797 – Crash when deleting a selected event using highlightSuccessors
  • #2800 – Delete event menu action does not remove all selected events
  • #2829 – Recurrence editor does not filter its UI according to recurrence type until the recurrence type field is *changed*
  • #2857 – Not possible to pass timeAxis column in columns array
  • #2866 – Missing method return value type for EventSelection.isEventSelected and EventSelection.isAssignmentSelected
  • #2867 – Issue after dragging and aborting multiple events with Escape key

API CHANGES

  • DEPRECATED TimeRanges#store + TimeRanges#timeRanges configs have been deprecated in favor of supplying data on Scheduler or its project

Version 4.1.2

2021-04-27

BUG FIXES

  • #895 – Date in ScheduleTooltip does not update when scrolling

Version 4.1.1

2021-04-23

FEATURES / ENHANCEMENTS

  • Scheduler / Gantt / Calendar will now react when CTRL-Z key to undo / redo recent changes made. Behavior can be controlled with the new enableUndoRedoKeys config (#2532)
  • Added a new "Non-working days" demo
  • Summary feature is now supported in vertical mode (#2555)
  • Summary feature now supports summing only selected rows (#2631)
  • Vertical mode now supports zooming using mouse wheel or when double clicking a time axis header cell (#823)
  • Added a new Angular 11 Routing demo

API CHANGES

  • Scheduler has a new public property visibleResources that returns the range of currently visible resources
  • DEPRECATED Arguments of beforeEventDrag, eventDragStart, eventDrag, eventDragAbort listeners of the EventDrag feature have been updated. context argument has been deprecated. See the upgrade guide for more information
  • DEPRECATED The events fired by Scheduler.column.TimeAxisColumn (timeaxisheaderclick, timeaxisheadercontextmenu, timeaxisheaderdblclick) were deprecated and should instead be listened to on the owning Scheduler / Gantt component

BUG FIXES

  • #318 – Wrong Event and TimeRange durations when dragging over DST period
  • #868 – Should be possible to show all available context menus programmatically
  • #1083 – Summary not updated after filtering with filter bar
  • #1152 – TimeRange with empty label produces empty label element
  • #1554 – Export demo problems
  • #1987 – DOCS: React guide needs a section on how to listen for events
  • #2151 – Wrong context is passed to the beforeEventDrag listener
  • #2365 – scrollToDate call increases date range period
  • #2380 – eventKeyDown and eventKeyUp events are not documented
  • #2428 – Events disappear on reload if resource store is a tree
  • #2542 – selectionMode with checkbox column does not handle selection mutating inside selectionChange listener
  • #2626 – Last time axis column headers text alignment issue when cropped
  • #2630 – Sticky headers not enabled
  • #2635 – Milestone Resize Error
  • #2636WRAPPERS Features are not updated at runtime
  • #2644 – timeRangeStore property doesn't work for recurring time ranges
  • #2663ANGULAR Scheduler crashes on 2nd create after destroy
  • #2664 – Crash when using showCurrentTimeLine with headers hidden
  • #2673 – Unsynced current timeline in partnered schedulers
  • #2675 – Delete key should delete all selected events
  • #2679 – on-owner events should be added to owner too in docs
  • #2681 – Yarn. Package trial alias can not be installed

Version 4.1.0

2021-04-02

FEATURES / ENHANCEMENTS

  • We are happy to announce that Bryntum Scheduler now can be directly installed using our npm registry. We've updated all our frameworks demos to use @bryntum npm packages. See them in examples/frameworks folder. Please refer to " Npm packages" guide in docs for registry login and usage information
  • Added a new "Non-working days" demo
  • Bryntum demos were updated with XSS protection code. StringHelper.encodeHtml and StringHelper.xss functions were used for this
  • Model fields can now be marked with alwaysWrite to ensure important data fields are always included when updates are committed by a CrudManager (#848)
  • CrudManager now exposes a changes property returning an object with the current changes in its stores
  • Added new Vue Cell Renderer demo to show Vue Components as cell renderers (Partially fixed #946 – Vue: Support components in renderers)
  • Schedulers performance was improved compared to version 4.0, mainly by shortening critical code paths such as getting record field values and by reducing the amount of work performed during the engines initial commit
  • Summary feature now offers a refresh method to update summaries. See updated summary demo for sample usage
  • Custom rendered HTML for events is no longer wrapped in an element unless there are other elements (such as icon) to also render
  • Added new Vue 3 Simple demo to show integration of Bryntum Scheduler with Vue 3 (#1315)
  • eventColor can now be specified as any valid CSS style (hex, hsl, rgba etc) (#2314)
  • The Labels feature can now be configured to make event labels take part in the event layout process, preventing them from being overlapped by other events (#2147)
  • Added new React 17 demo for Scheduler in vertical mode. The example also implements theme switching (#1823 and #2213)
  • ResourceInfoColumn now shows resource initials if no avatar image exists (#2202)

API CHANGES

  • BREAKING Removed RequireJS demos and integration guides in favor of modern ES6 Modules technology (#1963)
  • BREAKING init method is no longer required in Lightning Web Components and was removed from the LWC bundle
  • DEPRECATED CrudManager commit was deprecated in favor of acceptChanges
  • DEPRECATED CrudManager commitCrudStores was deprecated in favor of acceptChanges
  • DEPRECATED CrudManager reject was deprecated in favor of revertChanges
  • DEPRECATED CrudManager rejectCrudStores was deprecated in favor of revertChanges
  • DEPRECATED In the DependencyCreation feature, the data param of all events was deprecated. All events now have useful documented top level params
  • Value of store config defined on TimeRanges feature is no longer passed to Crud Manager instance. Instead please use timeRangeStore config on the project. That will both register the store on Crud Manager and used by the feature automatically

BUG FIXES

  • #394 – ScrollManager does not start vertical scrolling if mouse leaves scheduler element
  • #695 – Dependency line not redrawn during resize
  • #893 – Scrolling scheduler while dragging event makes dragged event go away from cursor
  • #1489 – Copy / Cut / Paste event API + context menu entries
  • #1525 – Improve Localization guide
  • #1689 – Investigate sharing static resource between multiple LWC on the same page
  • #1742 – Misleading visual feedback when clicking between multi assigned events
  • #1752 – Error if startDate field is hidden in EventEditor
  • #1873 – Virtual event rendering derenders too eagerly
  • #1893REACT JSX renderer not supported for TreeColumn
  • #2021 – Adding event when all resources missing fails
  • #2067 – Vertical Scheduler does not update view when undoing actions
  • #2056 – Setting resourceId to newly created event record before it is saved by the event editor fails
  • #2084 – Loading empty assignments does not refresh UI
  • #2163 – Icon is not shown for resource time ranges when iconCls is specified
  • #2166 – Buttons in bottom toolbar of a Popup should be right aligned
  • #2204 – EventEdit docs should show how configure the buttons
  • #2211 – Add test coverage for XSS
  • #2309 – Scheduler weekends are not configurable
  • #2323 – Dependency drag creation fails
  • #2329 – Processing records by the Engine makes CrudManager to load data slowly
  • #2331 – Cursor isn't changed to ew-resize when resizing event
  • #2333 – Dependencies not cleared after setting an empty array
  • #2337 – Disabling recurrenceCombo in Editor fails with exception
  • #2338 – Time axis misrendered if changing scheduler element size
  • #2346 – Drag drop not finalized properly if event is deleted during drag drop
  • #2358 – Scheduler 4.x is 2 times slower than Scheduler 3.x
  • #2359 – Update readme files in all framework demos in all products
  • #2364 – Adding a new event triggers 'update'
  • #2379 – Add minified version of *.lite.umd.js to the bundle
  • #2381 – Unable to Drag from left corner of event when Event#resizable set to 'end'
  • #2386 – Events disappear after setting resources twice
  • #2400 – Sync failure messages displayed in syncMask where not auto-closing
  • #2402 – assignmentStore add function ignores silent param
  • #2407 – Grid/Scheduler not working in IE11
  • #2414 – Header cell rendering leaves some space on the right when expand the browser window fast
  • #2418 – Project does not respect suspendEvents
  • #2426 – Double clicking tree expander icon should not start editing
  • #2429 – GroupSummary redraws excessively
  • #2430 – Summary redraws excessively
  • #2433 – Time picker doesn't display AM/PM switch properly
  • #2441 – Demo control sizes and styling issues
  • #2450 – Sorting demo breaks when trying to change sort order
  • #2453 – Multiple rebuilds of indices when adding events
  • #2468 – Add a public way to refresh summaries
  • #2474 – Empty text not shown when using autoHeight
  • #2480 – Race condition and me.nextAnimationFrame is not a function error
  • #2486 – Month/year picker is not aligned to date picker properly
  • #2492 – Removed dependency is rendered
  • #2497 – Event derendered on resize
  • #2505 – Clicking tree node expander icon should not focus row
  • #2509 – Docs missing for DependencyCreation events
  • #2511 – Applying empty store state doesn't clear filters/sorters/groupers
  • #2522 – Percent column never displays a value
  • #2526 – Grid: CheckAll checkbox un-checks after drag and drop
  • #2527 – Inconsistent Behaviour with Select All when Collapsed Groups
  • #2528 – Snapping not working when using a custom time axis
  • #2530 – Event disappears after drag drop if timeaxis is filtered
  • #2554 – Vue demo styling issues
  • #2557 – Double click resource histogram header fails
  • #2561 – Drag from grid demo styling bugs
  • #2564LWC Dependency lines are not created
  • #2577 – Crash after dragging newly created event
  • #2593 – Changes are saved immediately when beforeEventSave listener is async
  • #2598 – Should be possible to detect in DOM what ViewPreset is used

Version 4.0.8

2021-01-27

FEATURES / ENHANCEMENTS

  • You can now position milestone text inside the diamond or outside (default) with the new milestoneTextPosition config
  • You can now opt out of sticky event behavior for individual Events, using the EventModel#stickyContents field
  • Crud Manager now supports less strict sync response format allowing to respond only server side changes See supportShortSyncResponse config for details

API CHANGES

  • BREAKING Crud Manager default behaviour has been changed to allow sync response to include only server-side changes. Previously it was mandatory to mention each updated/removed record in the response to confirm the changes With this release the Crud Manager automatically confirms changes of all updated/removed records mentioned in corresponding request. To revert to previous strict behaviour please use supportShortSyncResponse config

BUG FIXES

  • #1970 – Infinite requests if wrong response received
  • #2241 – PDF export fails with certain column combination

Version 4.0.7

2021-01-12

FEATURES / ENHANCEMENTS

  • Scheduler now supports per resource row height, by setting resource.rowHeight. The value is used as the actual row height for pack and overlap event layouts, and as input for the row height calculation with stack layout. It is also possible to control the setting from a column renderer. If no value is supplied, the height configured on the Scheduler is used (#2158)
  • Also added per resource event layout support, by setting the new corresponding resource.eventLayout field. It accepts the same options as scheduler.eventLayout (stack, pack, none), and if the field is unspecified it will use the layout configured on the Scheduler (#176)

BUG FIXES

  • #410 – Resized element goes invisible if dragged to be zero width
  • #1220 – Scheduler time axis is empty after switching between schedulers
  • #1764 – Reordering inserts at the wrong position when the store is filtered
  • #1929 – Drag drop not finalized if eventStore data is updated during dragging
  • #2140 – WebSocket demo shows incorrect action info in Toast messages
  • #2157 – Recreating Scheduler Angular component when resources are bound fails in production mode with build optimizer enabled
  • #2182 – Virtual scroller jumps to 0 on first zoom
  • #2184 – zoomToLevel doesn't return current zoom level
  • #2185 – Responsive tickSize is not applied to the timeline
  • #2197 – Broken styles in React demos
  • #2200 – scrollEventIntoView throws error when event belongs to resource in a collapsed parent

Version 4.0.6

2020-12-29

BUG FIXES

  • #1741 – Modifying assigned resources of Recurring events does not update UI
  • #1821 – Events multi drag&drop via schedulers works incorrect
  • #2108 – Update of recurring event creates another repeat of event
  • #2120 – Filterable function not able to access "property"
  • #2121 – Zooming in configuration demo breaks time axis

Version 4.0.5

2020-12-15

FEATURES / ENHANCEMENTS

  • You can now change partnership of Scheduler panels at runtime using addPartner / removePartner APIs (#2042)
  • EventTooltip now updates itself if its event record updates while tooltip is visible (#2077)

BUG FIXES

  • #1314 – Fix for ASPNET demo build in Windows cmd environment
  • #1369 – Simpleeditor is not aligned with record after create
  • #2082 – Not possible to configure a config object or Tooltip instance as EventResize#tip

Version 4.0.4

2020-12-09

FEATURES / ENHANCEMENTS

  • A new Scheduler feature StickyEvents enables the textual content of event bars to "stick" within the scrolling viewport until the event itself is out of view. (#390)
  • Added groupRecord, groupField, groupValue to GroupSummary.renderer config and SummaryFormatter.generateHtml method (#1897)
  • A new config discardPortals on the React wrapper, that controls the behaviour of cell renderers using React components. Set to false (default) to enhance performance. Set to true to limit memory consumption
  • With the TimeRanges feature, you can now easily configure current time indicator to show any text using the updated showCurrentTimeLine object config
  • New fields resourceMargin and barMargin was added to ResourceModel, allowing for per row adjustment of the resource margin and the bar margin respectively (#2014)

API CHANGES

  • EventEdit feature now exposes an 'isEditing' boolean to detect if the editor is currently visible (#1935)
  • You can now specify the date to scroll into view initially, using the new visibleDate config
  • Task and event renderings that return HTML are now placed in a <span>. Previously, such text was placed inside a <div> but the block-level element caused undesirable wrapping. This applies to simple cases such as names with an ampersand ('&') character. Simple text is still rendered as a text node. (#1989)
  • DEPRECATED The getSourceEvent() and getTargetEvent() functions in DependencyModel was deprecated in favor of the fromEvent and toEvent getters

BUG FIXES

  • #70 – Summary and GroupSummary column lines misaligned when autoAdjustTimeAxis is set to false
  • #1303 – Store sorting improvements
  • #1374 – Dark theme tab bar has wrong background
  • #1398 – Error when update current timeline if scheduler is hidden
  • #1763 – Excel exporter demo doesn't really customize exported columns
  • #1812 – Make tables look better in docs
  • #1880 – Crash when dragging right demo splitter
  • #1889 – Settings not applied for scheduler configured with ViewPreset config object
  • #1892 – beforeRemove event doesn't cancel Event removal
  • #1906 – Scheduler resourceTimeRangeStore config doesn't work
  • #1907 – ResourceTimeRanges feature doesn't support recurring ranges
  • #1911 – Runtime error with disabled startTimeField or endTimeField for EventEdit
  • #1930 – Scheduler vertical cell borders missing in vertical mode
  • #1944 – relayAll targets not cleaned up on destroy
  • #1986 – Pan feature should be able to coexist with other mouse input features
  • #2030 – Event edit breaks rendering if beforeEventAdd listener returns false
  • #2036 – Strange drag behavior when using eventDragSelect with multi assignments

Older versions

  • Full release version history can be found here.