Scheduler – Change Log
Version 5.6.9
2024-04-09LOCALE UPDATES
- Added Brazilian Portuguese translation (
'PtBr'
) (8747)
BUG FIXES
- 7267 – Request for improved API for custom cell editors
- 8259 – HIGH PRIO Animated region collapse polish
- 8508 – Demo navigation buttons should be rotated in RTL
- 8571 – Drag from tree demo not working correctly
- 8572 – HIGH PRIO REACT Events disappear when scrolling and using JSX
eventRenderer
andresourceTimeRanges
- 8667 – HIGH PRIO Renderer Context demo event percentage circle showing undefined with new created event
- 8728 – Dates not serialized correctly when a
timeZone
is configured - 8729 – Changing
timeZone
and updating event dates multiple time causes event to get incorrect dates - 8744 – HIGH PRIO Events not rendering on drag scroll
- 8768 – Tooltip for a selector should not show if over a child of a delegate which has its own
data-btip
attribute - 8786 –
EventMouseLeave
fires multiple times when multiple events are selected - 8919 – Clicking
x
to closeEventEditor
popup does not triggerafterEventEdit
event
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.8
2024-03-04BUG FIXES
- 7297 – Not navigable to next month if selected date is next month
- 8635 – Crash when pressing close button in event editor
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.7
2024-02-22FEATURES / ENHANCEMENTS
- If Scheduler is not provided with the viewport start date on creation, it now tries to use the project's start date, or calculates the earliest start date among all events
- The
renderer
of time axis header rows now includes a param letting you reference the Scheduler / Gantt instance in your header renderer. Useful when you want to add summary row to the header (8527)
BUG FIXES
- 7046 – Non working time ranges doesn't render properly on vertical mode
- 7920 – Fix
getAssignmentsForEvent
param type insideAssigmentStoreMixin
- 8199 – Events disappear when change window size with very varying row heights
- 8209 – App crashing when moving multiple JSX events and some aren't in view
- 8268 – Weekends disabled not reflected on Split view
- 8372 – Lift batching state of event and task records during the event/task partial resize events
- 8423 – LWC Engine performance is too low with LWS enabled
- 8436 – Returning
false
frombeforeAdd
when creating event by drag or double click resulting in crash - 8464 – REACT – All events "flicker" when ever an event is dragged or created or resized
- 8503 – Event start time after drag drop when
fillTicks
is used - 8505 – Row highlighted after pressing Enter in event edit
- 8506 – Event buttons not hidden after mouseout
- 8528 – RTL Events not visible when printing
- 8537 – Make private
cls
configs onCalendarPanel
public - 8546 – Missing row hover effect on event drag
- 8558 – Dependency is missing on the exported page
- 8594 – Resizing time-selection from both side produces error
- 8597 –
TimeAxisHeaderMenu
's zoom slider disappear while zooming with it - 8609 – End date field marked as invalid / red after changing event start date
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.6
2024-01-31FEATURES / ENHANCEMENTS
- Scheduler now stores its
startDate
andendDate
values as part of its State storing mechanism. - All frameworks demo applications have been verified and updated to be compatible with Node.js 20
- Bumped built-in FontAwesome Free to version
6.5.1
- When editing very long events where the event bar extends outside the visible viewport, only the nearest 100 pixels of
the bar are scrolled into the viewport rather than attempting to scroll the whole width into view. The minimum width
to scroll in may be configured in the
eventEdit
feature using theminEditSize
config property (8315) - Grid now saves the collapsed state of groups in its default state saving mechanism (8103)
API CHANGES
- To boost record creation performance, records now cache their
id
(it is accessed very frequently, helps performance a bit) and join their store(s) in a more efficient way. As a side effect, a record no longer has astores
array prior to joining a store, previously it was there as an empty array from start. We don't think this will affect any code, but wanted to share the change in case it does
BUG FIXES
- 7469 – Wrong value of
expanded
when calling storetoJSON
method - 7707 – TYPESCRIPT Update
timeAxisColumn
to be a property - 7720 –
scrollResourceEventIntoView
not working for collapsed tasks - 7821 – Issue with rendering recurring events with multi assign
- 8000 – Crash when right-clicking before drag creating in Booking demo
- 8022 – Hide validation tooltips in Popups as soon as the popup closes
- 8102 – State doesn't store to
localeStorage
onshiftNext
/shiftPrevious
- 8200 – Webpack build failed with
.min.css
file - 8210 – HIGH PRIO Strange row expansion when drag creating in
embedded-chart
demo - 8216 – HIGH PRIO Error in summaries when expanding / collapsing resources
- 8220 – Exporting current view should not reset the time span
- 8233 – HIGH PRIO Dependencies to nested parent events, cause all child events to have an
offset
- 8240 –
EventDragSelect
ignores selection afterclose-to-edge-scroll
- 8282 –
EventDragSelect
does not select milestones - 8288 – Event content
overflow
not hidden in Firefox - 8291 – HIGH PRIO Events are not visible when exporting infinitely scrollable scheduler
- 8300 – HIGH PRIO ANGULAR Html custom element can not be rendered inside
eventTooltip.template
- 8310 – Timeline histogram with current timeline config triggering error
- 8343 – Focused tooltip throws errors when re-invoked by a new target
- 8344 – Event preamble/postamble element sizing/positioning doesn't change for RTL mode
- 8373 –
Cannot read properties of undefined (reading 'button')
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.5
2024-01-09BUG FIXES
- 1480 – Issue with Repeat event dialog on cancel changes
- 7372 – Improve performance of region resize
- 7403 – Make a guide on how to make a theme selector in frameworks
- 7818 – TypeScript Incorrect
RecurrenceModel
typing in typings - 7850 – Salesforce Multi event select not selecting events in Salesforce
- 7964 – REACT JSX doesn't work in Popups
- 8112 – Drag not working between schedulers on responsive/mobile devices
- 8119 – Print dialog button should say
Print
- 8134 – Dragging event close to edge does not trigger timeline scrolling
- 8143 – Group icon stopped handling click when
resourceCollapse
column added - 8153 – Crash when right-clicking vertical time axis
- 8177 –
TimeAxisSubGrid
throws"queueMicrotask is not a function"
exception - 8179 –
ascending
config not working inGroup
feature
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.4
2023-12-21FEATURES / ENHANCEMENTS
- The
Labels
feature now skips rendering unnecessary elements for labels without content.
API CHANGES
resourceTimeRangeRenderer
method fromResourceTimeRanges
feature is now a config on the Scheduler, making it available in framework wrappers (8035)
DEMOS
- ANGULAR Added new "Timeline histogram" Angular demo which is located in the "examples/frameworks/angular/timelinehistogram" folder
- REACT + VITE Added new "Timeline histogram" React + Vite demo which is located in the "examples/frameworks/react-vite/timelinehistogram" folder
- VUE 3 + VITE Added new "Timeline histogram" Vue 3 + Vite demo which is located in the "examples/frameworks/vue-3-vite/timelinehistogram" folder
BUG FIXES
- 6224 – Add event for
ColumnResize
to catch user resize action - 7542 – Removing partner does not break the
timeAxis
link - 7958 – Property
type
is missing inDataFieldConfig
- 7973 –
Timezone
wrong behavior when usingapplyChangeset
- 8024 – Event editor bottom toolbar missing top padding
- 8027 – Skip rendering empty labels
- 8071 – If
visibleDate
is set multiple times before paint, Scheduler goes into infinite loop - 8080 – Missing
TimelineHistogram
component in Angular / React / Vue packages - 8081 – Missing
TreeGrid
component in Angular / React / Vue packages - 8084 – Hide
scrollable
config from Menu docs
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.3
2023-12-13FEATURES / ENHANCEMENTS
- Timeline zooming as enabled by the
zoomOnMouseWheel
config property now also responds to pinch-zoom touch gestures on touch devices - ANGULAR New "Property booking" demo (Angular) showing a demo booking application, using
ResourceTimeRanges
and theSummary
feature. The demo is located inframeworks/angular/booking
folder (7769) - REACT Documentation in "Quick start", "Guide" and "React Tutorial" is now updated with how to build React application in Vite for higher efficiency and better performance in development
API CHANGES
- DEPRECATED Please kindly note that
@bryntum/babel-preset-react-app
and@bryntum/cra-template-typescript-scheduler
,@bryntum/cra-template-javascript-scheduler
packages will not get any updates after6.0.0
version
BUG FIXES
- 880 – Tabbing to partially visible event breaks event navigation
- 1458 – Tooltip jumps trying to follow by the
TimeRange
element - 7698 – Remove overnesting from framework demos
- 7716 – Link is created to a task when trying to abort building the link
- 7779 – Dragging event in hidden resource causes exception
- 7889 – Adding a new event via
applyChangeSet
triggers auto sync - 7903 – Dependencies arrows not working when set
fromSide
/toSide
='top'
- 7929 – PDF Export event bars not correctly rendered when dependencies enabled
- 7946 – Console error when use not adjusted
timeAxis
with specific configs - 7952 – Can resize event out of original bounds
- 7967 – React Events with custom content disappearing during resize
- 7970 – Non-working days are not highlighted in an exported PDF
- 7972 – Event not shown when drag&drop between scheduler in fullscreen Mode
- 7992 – Crash after destroying scheduler and setting
timeZone
on the project when usingTimeRanges
features - 8006 – TypeScript
ResourceModel
missing timeRanges in Docs/TS definition - 8015 – Scheduler booking demo issues
- 8017 – Current timeline color is incorrect
- 8020 – Scheduler Stress Test Demo broken
- 8036 – Copy to clipboard doesn't work in some code blocks
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.2
2023-11-24FEATURES / ENHANCEMENTS
- Tooltips such as the one shown by the
EventTooltip
feature can now stay visible when mouse exits the target element which triggered the tooltip to show via the newautoHide
config (4882) TimeRange
feature now offers to configure itshoverTooltip
shown when hovering a range header element- A CSS change (
max-width
on.b-sch-event-content
) in the previous release that was meant to simplify making event content sticky in some scenarios turned out to mess styling up in others, and have now been reverted. It needs to be handled by the application where applicable instead
API CHANGES
- The
year
viewPreset
now renders a full year if not date range has been provided - DEPRECATED The
eventBodyTemplate
function was deprecated in favor of returning the desired markup from aneventRenderer
function. It will be removed in 6.0 (7288)
BUG FIXES
- 7092 – Feature mixin on-owner events are not exposed on class
- 7716 – Link is created to a task when trying to abort building the link
- 7730 – Scrollbar presence not synced correctly for partners in FF
- 7839 –
TooltipTemplate
not working in time selection feature - 7851 – 0-duration TimeRange lines should float above event bars
- 7883 – Make column renderer more efficient
- 7891 – REACT
bigdataset
demo broken rendering
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.1
2023-11-17FEATURES / ENHANCEMENTS
- A new config property,
hideRowHover
may be set tofalse
to indicate that the row hover background effect should also apply in the Scheduler. - Event content elements (
.b-sch-event-content
) now use amax-width
by default in horizontal mode, that prevents overflow in more scenarios when using sticky events (7812) - The
beforeEventDropFinalize
event now includes a new propertydropData
in thecontext
argument, please consult the docs for details (7367). - REACT Added new React Context demo that shows how to use state together with React renderers. The demo is located
in
examples/frameworks/react-vite/renderer-context
folder (7747)
BUG FIXES
- 3865 – Conflicts when using both
RowCopyPaste
andEventCopyPaste
features with Scheduler - 4838 – Vertical mode missing top padding for rounded event style
- 5719 – YARN Can not install
@bryntum
product packages using yarn v2/v3 - 6035 – Scheduler with filter not doing Excel Export correctly
- 6726 – Events near the right edge of timeline disappear when scroll
- 7454 – Scheduler crashes when setting both
timeRanges
and onChange prop onBryntumProjectModel
- 7457 –
onChange
function becomes field in Scheduler ProProjectModel
- 7585 – REACT Start and end date is not updating in event content
- 7711 –
ScheduleTooltip
showing wrong time across DST changes - 7750 – Vite error
@charset must precede all other statements
- 7754 – Frameworks Thin packages not working with
pnpm
- 7764 – Grid row hover effect lost when mouseovering events
- 7773 – Crash when dragging event with connected non-rendered event
- 7793 – Error thrown in Nested Events example when dragging an event
- 7820 –
globalThis
should be defined in locales to support LWC - 7841 – The header menu's "Show current timeline" does not work
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.0
2023-10-26FEATURES / ENHANCEMENTS
- This release introduces a new set of npm packages and framework components, that allows combining multiple Bryntum
products in the same application. These packages contain the product specific code only, as opposed to the current
packages that has all code for the products each product builds upon (for example Scheduler contains Grid & Core).
The new packages are called
thin
packages, and moving forward it will be the recommended way of using Bryntum products in npm based applications (for all supported frameworks). See the "What's new" guide for more information ResourceTimeRanges
feature now support rendering custom html into its range elements, via the newresourceTimeRangeRenderer
method available on the Scheduler class (4922)- The
Dependencies
feature now allow configuring the size (terminalSize
) and offset (terminalOffset
) from the event bar for terminals (connection points shown when hovering the bar). This lets you position the terminals fully inside or fully outside the bar. It also allows configuring delays before showing (terminalShowDelay
, to require an intentional hover on an event bar) and hiding (terminalHideDelay
, to allow hide animations, and to be more forgiving) them. Thedependencies
demo was updated to allow experimenting with these new options - CSS for milestones was slightly simplified thanks the conversion to use grid layout for event bars back in 5.0. If you use custom styling for milestones, you might need to update it
- Time ranges now support recurrence out of the box, you no longer have to subclass and mix
RecurringTimeSpan
manually (7217) - Milestone rendering was slightly tweaked for better visuals, milestones that overlap an events end date are now moved to the next band, although technically they do not overlap (since end dates are exclusive)
- TypeScript Functions and events declarations in typings were improved to contain all available parameters and return type (6961, 4456)
- Added a
Print
feature based onPdfExport
feature which allows using browser print dialog and not rely on backend (6218) @bryntum/scheduler-thin
bundle includes scss theme files insass/themes
folder (7445)- It is now possible to use asymmetrical
resourceMargin
by assigning an object withstart
(margin top in horizontal mode, margin left in vertical mode) andend
(margin bottom / margin right) properties (6185) ResourceHeader.headerRenderer
can now return a JSX with the React component which will do the actual rendering. The demo is located inexamples/frameworks/react/javascript/vertical
(762, 5808)- The
Group
feature may now group by multi-value fields meaning that rows may be a member of more than one group. See the newmulti-groups
example for a demonstration (7349) - The
TreeGroup
feature may now group by multi-value fields meaning that rows may be a member of more than one group. See the newmulti-treegroups
example for a demonstration (7365) - New
RowResize
feature allowing user to drag bottom row border to change row height (2843)
API CHANGES
- BREAKING
Core.util.helper.Point
class has been moved to solve circular module dependencies. It is now a named export of theCore.util.helper.Rectangle
module. Check upgrading guide for the details visibleDate
config now aligns the passed date withblock : start
by default during instantiation time- The behavior of the
DateTimeField
has changed when it is used withStartDateField
as its date component. If the value of the date field will be changed with the increment buttons, the result of the increment will update both date and time fields. Previously the value of time field was always preserved. This is only a breaking change if you are using calendars with non-working time (7038) - BREAKING TypeScript
ScrollOptions
typedef has been renamed toBryntumScrollOptions
to not interfere with TypeScript interfaceScrollOptions
. Check upgrading guide for the details (7385) - FRAMEWORKS New
BryntumSchedulerProjectModel
wrapper component has been added. Please check "Data binding" framework guides for the details - The behaviour of the
ViewPresetCombo
has been changed to better align with the functionality of "zooming". Additionally, there is a new config,useFixedDuration
, that defaults totrue
. This will ensure that aViewPreset
always starts and ends with its defaultmainUnit
(7448) - STYLING Default style of
TimeRange
border-lines was changed fromdotted
tosolid
- STYLING Default
text-transform
style of TimeAxis text in the Stockholm theme was changed fromuppercase
tounset
- STYLING The DOM placement of the various canvas layers (time ranges, column lines, etc.) were changed. If you have styled time range elements using location specific CSS selectors, you should review and ensure that your custom styling is applied
BUG FIXES
- 3212 – Destroyed scheduler still handles events
- 7327 – Milestone overlaps milestone doesn't get detected
- 7497 – Layers demo issues
FRAMEWORK SUPPORT
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.5.5
2023-10-23API CHANGES
- TimeSpan
setStartEndDate
will now throw an Error if passing astart
value greater thanend
resumeRefresh()
will trigger a repaint by default as of6.0.0
- PERFORMANCE Using
syncDataOnLoad
will now only yield a single repaint of events - DEPRECATED The
PickerField.autoClose
config is no longer meaningful, it has been deprecated and will be removed in6.0.0
- Added
lockLayout
config on event resize feature to prevent events moving vertically during resize. This will be the default behaviour from version6.0.0
(7058) processItems
method now allows async validation to fix up the menu items (4855)
BUG FIXES
- 928 – React
onPaint
does not work whereas paint listener does - 1978 – Setting
scheduler.partner
toundefined
fails - 3744 – Drop location invalid if start date is before schedule start when dragging from grid
- 4870 – Packed events overlap when
fillTicks
istrue
and times don't overlap - 6654 – Issues combining
infiniteScroll
with zoom - 7462 – Resource combo doesn't close when event editor closed
- 7626 – Hard to reach dependency handlers with adjacent events
- 7631 – Mapping of
startDate
not respected by time zone calculation - 7635 – Event styling broken in Vue demo
- 7678 –
titleRenderer
not honoured if editor is not floating - 7687 – Scheduler Drag selection & click outside does not deselect the events properly
- 7704 – Highlight timespan bug on scroll
Version 5.5.4
2023-10-05FEATURES / ENHANCEMENTS
- A warning is now shown on console if an event is initially assigned to the same resource multiple times. That scenario is not supported and may lead to visual glitches
BUG FIXES
- 7479 – Events are disappearing on vertical scroll
- 7516 – Subsequent filter actions only consider initially filtered events
- 7534 – Aligning tooltip to a Point, with
x, y
offsets should work - 7563 – Combo value not updated in the input is some cases
- 7583 –
TimeZonedDatesMixin
timeZone
field missing null typing
Version 5.5.3
2023-09-15FEATURES / ENHANCEMENTS
- All records that is added (not loaded) to a Store which belongs to a Project that has a
timeZone
configured, is treated as "in" the configured time zone which means no time zone conversion will be applied to these record's dates. It is now possible to change this behaviour by setting thetimeZone
field on a record before adding it to the Store. Set it to anotherIANA time zone
ornull
to apply time zone conversion to the added records - New
fieldfilters
demo showing how to add multi-filter UI working with a Scheduler. Demo is located inexamples/fieldfilters
folder - ReactVite New big dataset demo with enabled JSX event rendering. Demo is located in
examples/frameworks/react-vite/bigdataset
folder
BUG FIXES
- 6332 – Double-clicking on the timeaxis cell open and close the task editor immediately
- 6373 – Change Resource's Recurring Events not updating Scheduler
- 6823 – Next event always scrolled into view after focused event deletion
- 6869 – Wrong
endDate
when create event in DST change date - 7012 –
syncDataOnLoad
breaks time zone conversion - 7076 – Scheduler zoomIn/zoomOut doesn't keep center well
- 7305 – Error when drag invisible events when
managedEventSizing
isfalse
indragselection
- 7355 –
ResourceTimeRanges
not showing ifResourceStore
has filters - 7398 –
CrudManager
allows a load operation to append records. But they are then syncable - 7412 – Compress non-working time example on bryntum is crashing on zoom
- 7428 – Changing timeZone doesn't move recurring
ResourceTimeRange
Version 5.5.2
2023-08-30FEATURES / ENHANCEMENTS
- You can now prevent row selection when clicking an event bar with the new
selectResourceOnEventNavigate
flag (7337) - You can now prevent row selection when clicking the empty area of a time axis cell bar with the new
selectResourceOnScheduleClick
flag (7317)
BUG FIXES
- 1491 –
TaskEdit
resets end time when user changesstartDate
- 2900 – Adding to
resourceStore
andresourceTimeRangeStore
doesn't update reference - 3773 – Center date is moved when partner is added
- 7244 – Adding recurring events – only first event is selectable
- 7283 –
SchedulerTooltip
mouseOffset
stack overflow - 7312 –
scrollEventIntoView
not working correctly - 7316 – Event bar disappears on drop when async listener used
- 7346 – Reordering column added at runtime makes split scheduler crash
- 7379 – Support showing
EventTooltip
on click - 7380 – Inconsistent event firing of
beforeEventSelectionChange
andeventSelectionChange
- 7381 – Hiding dependency creation tooltip causes crash
Version 5.5.1
2023-08-16API CHANGES
- We added two public methods –
suspendChangeTracking
andresumeChangeTracking
to suspend and resumehasChanges
/noChanges
events on aCrudManager
- The icon element inside
TimeRange
elements was moved outside the label to simplify styling
BUG FIXES
- 6456 – Event bar jumps to past when drag-n-drop in 5 year zoom level
- 6994 – Error when zoom change when
infiniteScroll
is enabled - 7168 – Bug in exporting PDF when non-working time is filtered
- 7203 –
onVisibleDateRangeChange
is not subscriber onvisibleDateRangeChange
event but separated method - 7207 – Wrong typing for
record.setAsync
method - 7212 –
MultiAssignments
withresourceIds
clone issue - 7224 –
isCreating
flag gets "stuck" if the edit is vetoed - 7247 – Splitting a read-only Scheduler does not make splits read-only
- 7254 – Renderer method of Group Summary doesn't trigger properly on smaller screen
- 7259 – Missing typings in
ResourceUtilizationFeaturesConfigType
after upgrading to version5.4.0
- 7272 – Time range header element out of sync with its body after element after resize is cancelled
- 7280 – Only one listener per event is relayed to splits
- 7284 – Event drag proxy misplaced when body has margin
- 7289 –
deselectAllOnScheduleClick
set tofalse
not working as expected - 7293 – Row animation visible during PDF Export
Version 5.5.0
2023-07-31This release is a replacement for the 5.4.3 patch release. It was changed to a minor version because of some larger changes behind the scenes to pave the way for future support for live updates in Scheduler Pro and Gantt.
FEATURES / ENHANCEMENTS
- Scheduler now extends
Grid.feature.RowReorder
feature. You do not need to make any changes unless you were extending it or imported from sources. If you did, you need to change base class to the new one - New
custom-event-rendering
demo showing how to render custom elements into the event bar - New
custom-event-buttons
demo showing how to render custom buttons into the event bar - New
airport
demo showing custom event bar styling for an airport
BUG FIXES
Version 5.4.2
2023-07-26FEATURES / ENHANCEMENTS
- The
Split
feature now relays listeners to all splits, and it also relays a (configurable) subset of the scheduler's configs at runtime (7200, 7201)
BUG FIXES
- 6268 – ApplyChangeset On Event Store Not Change Custom Fields
- 6995 – VUE An exception when use
workingTime
config in calendar timeline view - 7162 –
EventDrag
copy enabled even when disabled - 7173 –
Tooltip
clocks do not update while draggingTimeRange
header element - 7180 – Event dragged from split gets stuck on header
- 7197 –
scrollEventIntoView
sometimes do not return a result to promise
Version 5.4.1
2023-07-13FEATURES / ENHANCEMENTS
- We have created a public repository to showcase Salesforce demos. All previous demos are merged into one Lightning Application which is easy to install to a new scratch org. You can find more information in updated guides and in this repository: https://github.com/bryntum/bryntum-salesforce-showcase#bryntum-salesforce-showcase
- We have created a public Salesforce org where this app is preinstalled. You can find link to it and login credentials on the updated examples page
BUG FIXES
- 1751 – Group renderer for timeaxis column duplicates content on group collapse
- 6077 – TypeScript
Model
constructors should allow second param - 6987 – REACT React component is not rendered correctly on expand / collapse
- 7040 –
nonWorkingTime
has an offset whentimeZone
used - 7043 –
enableMouseEvents
state forresourceNonWorkingTime
affects on event drop behaviour - 7099 – Dependency creation validates not correct when move cursor fast
- 7104 –
scheduleMouseEnter
&scheduleMouseLeave
incorrectly fired & documented - 7105 –
startDate
andendDate
not correct when pasting from other Scheduler - 7114 – Should rewrite the label of current time from initial config
- 7117 – When splitting horizontally outside resource row, split feature splits vertically
- 7118 – Splitting while event is selected throws console error
- 7132 – Calendar
ResourceFilter
change listener has wrong 'oldValue' on select
Version 5.4.0
2023-06-30FEATURES / ENHANCEMENTS
- This release introduces a new
TimelineHistogram
class which implements a grid with histogram charts displayed for rows in the timeaxis section. Please check the new Timeline histogram demo and the "Timeline histogram" guide for more details - The
EventCopyPaste
feature has been enhanced to use a page-global internal clipboard and also supports the browser's native Clipboard API if accessible. This means that it is possible to copy and paste events between multiple instances of Scheduler or other Grid-based components. It is also possible to copy an event and paste it inside a Spreadsheet app like Excel (5308) Widget
has a new config,maximizeOnMobile
which takes effect only onfloating
widgets on a mobile device. It causes the widget to be maximized instead of positioned in order to accommodate the mobile virtual keyboard. This will make event editing much easier to use on mobile devices (6522)- On mobile devices,
type : 'checkbox'
is rendered as aslidetoggle
widget. The API and value is the same, it is just a more appropriate UI for the platform - We have added default editors for the
eventColor
field. There is one in theEventMenu
feature's context menu and one in theEventEdit
feature's event editing panel. Just setshowEventColorPickers
to true and the editors will appear - There is also a new
EventColorColumn
which can be added to any Scheduler. It renders a colored element which the user can click and select a new color for each event - Schedule has a new
Split
feature, that allows splitting the schedule into multiple parts (horizontally, vertically or both ways). Try it out in the newsplit
demo (3917) EventModel
has a newresourceIds
field, that can be used to assign multiple resources to the event without having to use assignment records (6502)- For a slightly better docs experience for most users, the docs browser now by default hides some more obscure APIs
normally only used when implementing own widgets and features. Advanced users in need of these APIs can still opt in
to see them using the
Show
menu in the docs browser - Added new
multiassign-resourceids
demo showing eventresourceIds
field usage (6936)
API CHANGES
- The
EventCopyPaste
feature'scopyEvents
andpasteEvents
has been made asynchronous due to the enhancements mentioned above - The
EventCopyPaste
feature'sbeforeCopy
andbeforePaste
events is now asynchronously preventable
BUG FIXES
Version 5.3.8
2023-06-28FEATURES / ENHANCEMENTS
- PERFORMANCE Scheduler now offers a
ignoreDomEventsWhileScrolling
config which you can set totrue
to ignore DOM events fired while scrolling to maximize scroll performance
BUG FIXES
Version 5.3.7
2023-06-20FEATURES / ENHANCEMENTS
EventSelection
now offers adeselectAllOnScheduleClick
flag to control if selection should be cleared when clicking the empty schedule area (6964)
BUG FIXES
- 3530 – State tracking manager logs incorrect steps when adding new event
- 6389 – Drag-and-Drop bug when
constrainDragToTimeSlot
set to true - 6589 – Touch moving event to the edge of the scheduler does not scroll the view on some browsers
- 6641 – Zooming with mouse wheel broken in RTL
- 6757 – Event wrongly positioned when some specific dates used with workingTime setting
- 6801 – Paste event doesn't contain the pasted records in eventRecords
- 6874 – Fix docs and typing for
eventColor
field - 6875 – Resource headers not rendered in vertical mode if no events exist in the initial time span
- 6876 – Preset switching in Vertical mode issue
- 6889 – Phantom event element after dragging event holding shift
- 6908 – Console error when
eventDrag
feature disabled butdependencies
used - 6940 – REACT Tooltip shows wrong time
- 6982 – REACT
renderEvent
not triggering - 7016 – Context menu event creation adds the event even when canceling the event editor with
Cancel
button
Version 5.3.6
2023-05-26API CHANGES
- DEPRECATED Deprecated the
getEvents()
function ofResourceModel
, in favor of using theevents
property
BUG FIXES
- 6132 – ScrollTo functionality does not work with
infiniteScroll
enabled - 6689 – Setting
startDate
in EventEditor to null corrupts dates - 6693 – Multi assigned events not rendering properly when scrolling fast
- 6707 – It deletes the two events instead one when undo after a shift copy
- 6719 – Bad styling
- 6723 – Broken rendering after changing resource column width with grouping enabled
- 6759 – LWC Exception is triggered when creating a dependency
- 6777 – Method cannot be called at this state!
- 6782 – Displaying a tooltip while the data is being updated throws errors
- 6785 –
eventDragSelect
does not clear previous selection - 6816 – REACT
TypeError: _a.features may be undefined
Version 5.3.5
2023-05-11FEATURES / ENHANCEMENTS
- The
ResourceFilter
widget may now be configured to also filter theresourceStore
by configuringfilterResources
astrue
(6698) - New demo showing drag from external grid onto a Tree Scheduler. Demo is located in
examples/drag-from-grid-to-tree
folder - Added
eventClick
for nested events in the scheduler example called 'Nested events' (6412) - Column widths and hide/show state are synced between partnered schedulers with identical column sets (6682)
BUG FIXES
- 6384 – Inconsistent tool order in header of inline collapsed panel
- 6659 – Artefact in web sockets demo
- 6663 – Bad colors for selected event in react event renderer demo
- 6664 – Flicker when event resize starts
- 6680 –
TimeAxisViewModel
should round calculated start date to top header increment if possible - 6681 –
DatePicker
'sactiveDate
should persist while it is focused - 6699 – Should record only 1 STM transaction for drag-create and following task edit user actions
- 6701 – IONIC
Scrollbar
width could not be determined under Ionic framework - 6730 – Multiple events are draggable even when
multiEventSelect
isfalse
Version 5.3.4
2023-04-28FEATURES / ENHANCEMENTS
- CrudManager now optionally includes the owning Scheduler's
startDate
andendDate
as params in its load requests, via thepassStartEndParameters
config flag in Scheduler (6552)
BUG FIXES
- 6403 – Dropping events past noon gives unexpected results
- 6438 – Support
stickyEvents
feature in RTL mode - 6584 – Row select blinking on mobile after first select
- 6645 – Rendering breaks having two schedulers using different viewpresets
- 6647 – Tooltip offset increase on every show when dependencies feature enabled
- 6652 – Minified UMD bundle does not export
bryntum
namespace
Version 5.3.3
2023-04-21FEATURES / 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 inexamples/frameworks/angular/angular-11-routing/
folder - ANGULAR
basic
,dependencies
,drag-between-schedulers
,drag-onto-tasks
,filtering
,localization
,pdf-export
,recurring-events
andtasks
demos have been upgraded to use Angular 15. Demos are located in subfolders insideexamples/frameworks/angular/
folder - ANGULAR legacy
angular-6
,angular-7
andangular-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
- 6415 –
zoomIn
/zoomOut
doesn't work properly with RTL +zoomPosition
- 6426 – REACT Portals are re-created while resizing event
- 6436 –
ZoomIn
/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 - 6547 –
TimeSpan
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-04FEATURES / 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 thephp
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
- 3789 –
UndoRedo
widget doesn't catch the project if configured standalone in Angular - 5546 – Event drag create when using
showExactResizePosition
doesn't show invalid rendition for0
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
- 6150 –
scrollToDate
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-17API CHANGES
ProjectModel
convenience getter methods (events
,resources
etc) now returnsallRecords
instead ofrecords
- 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
- 6228 –
timeAxisHeaderMenuBeforeShow
is not documented - 6248 – Context menus in vertical mode doesn't work as expected
- 6293 – Multi event drag produces invalid results
- 6299 –
scheduleContext
feature is throwing error when using withfillTicks
- 6302 –
5.3.0
TypeScript typing issues - 6309 – Error on
CrudManager.revertChanges()
- 6311 – Crash when adding new resource in grouped vertical mode
- 6339 –
scrollEventIntoView()
does not scroll withextendTimeAxis : 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
- 6366 –
selectEvent
doesn't work as expected for recurring instances
Version 5.3.0
2023-03-02FEATURES / ENHANCEMENTS
- The CSS used to support
eventStyle
andeventColor
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 checkaddQueryParamsToBody
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 asRecord<keyType, valueType>
, and for functions that accept object arguments many are replaced with anonymous type declarations, such as{ foo: string, bar: number }
(Partially fixed 5176) - Tooltips in the
react-tooltips
demo are now rich, with resource avatar and event times (6184)
API CHANGES
- DEPRECATED
LocaleManager.registerLocale
andLocaleManager.extendLocale
are deprecated.LocaleHelper.publishLocale
should be used instead. - BREAKING The
syncEventRecord()
function of theRecurrenceEditor
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 aendDate
initially, those days will be treated as in local system time zone and will therefore be converted to the configured time zone. Previously (in5.3.0-alpha-1
and5.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
- 5856 –
Intl.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
- 5986 –
eventStyle: 'line'
broken - 6139 – Wrong behavior with
fillTicks
andsnapRelativeToEventStartDate
- 6216 – Event elements lost after reverting changes
- 6217 –
toggleNode
event doesn't get triggered for parent withchildren : true
- 6234 – Event bar disappears on drop with filtered timeaxis,
snapRelativeToEventStart
&fillTicks
- 6250 –
showCurrentTimeLine
not working on filtered timeaxis - 6260 – Milestone is rendered incorrectly
Version 5.2.10
2023-02-17FEATURES / ENHANCEMENTS
- The
beforeSend
event triggered byCrudManager
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 includeAM
/PM
. Those browsers now use "thin space" (\u202f
) instead of regular space. This affects theDateHelper.format()
function, but likely you do not need to take any action in your application. It also affectsDateHelper.parse()
, which has been updated to support the new unicode space (6193) - DEPRECATED The
eventRecord
andassignmentRecord
params of theeventKeyDown
&eventKeyUp
events fired by Scheduler were renamed toeventRecords
andassignmentRecords
to match the type (array)
BUG FIXES
- 5109 –
StickyContents
not working correctly duringdragMove
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 - 6027 –
eventKeyUp
andeventKeyDown
not being triggered correctly - 6094 – Error appeared on drop event into empty scheduler
- 6109 –
ScheduleContext
feature cannot be disabled - 6113 –
SimpleEventEdit
editor has wrong size in vertical mode - 6119 – Zoom In with dependencies enabled stuck the Scheduler with big dataset
- 6159 –
EventEdit
modal popup shows anchor arrow on first display
Version 5.2.9
2023-01-30FEATURES / ENHANCEMENTS
- The event editor of the
EventEdit
feature may be reconfigured to not be a popup by configuring theeditorConfig
withfloating : false
or by adding anappendTo
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 - 5956 –
ResizeObserver
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
- 6019 – TypeScript Feature classes and configs have
on
event handlers exposed on owner class
Version 5.2.8
2023-01-19BUG FIXES
- 5386 – Improved panel collapse animation when collapsed panel header is perpendicular to expanded
- 5814 –
StateProvider
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-11API CHANGES
- DEPRECATED The
EventDrag
feature's eventsbeforeEventDrag
andeventDragStart
propertyevent
will be replaced bydomEvent
in 6.0. This to make it more clear that it refers to the original event from theDOM
that initiated the Bryntum event (5818) - DEPRECATED The
handleSize
andtouchHandleSize
configs to theEventResize
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 - 4411 –
DragCreate
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-28FEATURES / 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-16FEATURES / 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 combiningmilestoneLayoutMode
with the newmilestoneTextPosition : 'always-outside'
setting. Themilestonelayout
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 bycopyMode
config. (4940) - The
Dependencies
feature has a newclickWidth
config, that lets you enlarge the clickable area for dependency lines. Tradeoff being that the lines will be more expensive to draw. Thedependencies
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 oneCrudManager
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-28FEATURES / 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
Version 5.2.3
2022-11-17FEATURES / ENHANCEMENTS
- The
Dependencies
feature has a newdrawOnScroll
config, that controls whether dependencies are dawn during scroll or only when scrolling ends. Setting it tofalse
will boost scrolling performance for schedules with many dependencies (5555) - Pan and EventDragSelect features now offer preventable
beforePan
andbeforeEventDragSelect
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
Version 5.2.2
2022-11-08API 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
Version 5.2.1
2022-10-28BUG FIXES
- 1996 – Maximum call stack size exceeded when updating event
resourceId
- 4443 –
MergeCells
settrue
resources are not collapsing correctly - 5149 – Angular demos now use component-local styles using
ViewEncapsulation.None
- 5377 –
hideHeaders
crashing vertical mode when combined withFilterBar
feature - 5388 –
DragHelper
misplaces drag proxy on a scrolled page - 5422 – Scheduler "Custom event styling" demo has wrong styles
- 5431 –
Pan
feature interferes with row reordering - 5432 –
Pan
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
- 5465 –
EventStore.filter()
does not trigger refresh
Version 5.2.0
2022-10-13FEATURES / 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-inViewPreset
s 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 theNonWorkingTime
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 thefillTicks
config, cropping the non-working-time ranges for a better look whenfillTicks
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 updatednonworkingdays
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 theResponsive
mixin now support aonce
property to allow configs to only be set on first activation of the state - The
Core.helper.DateHelper
class has a new methodformatRange
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 newtree-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 tofalse
. (4449)
API CHANGES
- DEPRECATED The
highlightWeekends
config of theNonWorkingTime
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-12FEATURES / ENHANCEMENTS
- New records are assigned a generated
id
if none is provided. The generatedid
is meant to be temporary (a phantomid
), and should be replaced by the backend on commit. Previously theid
was based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the sameid
during a session, but if an application serialized the generatedid
(note, they should not) and then reloaded it, it would eventually collide with a new generatedid
. To prevent this, the generatedid
s are now based on a random UUID instead - Stores now by default show a warning on console when loading records that has generated
id
s, as a reminder that it should be replaced by the backend on commit
BUG FIXES
Version 5.1.4
2022-09-29FEATURES / ENHANCEMENTS
- The
ScheduleContext
feature now offers atriggeredBy
config which may be'mouseover'
. It also offers arenderer
which allows applications to customize the highlight style. Scheduler now fires atimelineContextChange
event when the mouse moves from tick to tick and row to row within the schedule region. (5035)
API CHANGES
- DEPRECATED The
events
config ofSchedulerDatePicker
has been renamed toshowEvents
. Theevents
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
- 5231 –
eventDragSelect
does not select events when scrolling - 5272 – Group Summary not updating when display in header
- 5315 – Scheduler has no vertical lines in vertical mode
- 5316 –
AvatarRendering
should always set alt text by default
Version 5.1.3
2022-09-09BUG 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 aTabPanel
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-29FEATURES / ENHANCEMENTS
- Configs that accept configuration options for a widget (or other class) are now (mostly) documented to accept a typed
config object rather than a plain object. For example instead of
{Object} tooltip - A tooltip configuration object
, it is now{TooltipConfig} tooltip - A tooltip configuration object
. This improves our TypeScript typings (transforms toPartial<TooltipConfig>
in typings) when using such configs, but also improves our docs by linking to the configs of the type - 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
- 4897 –
ResourceFilter
should continue to filter when its ownStore
is filtered - 4943 – Changing the time by dragging an event triggering an error
- 4965 – Dependency creation still working when readOnly is true
- 4981 –
copy
event menu item not able to copy multiple events - 4999 –
AjaxStore
beforeRequest
doesn't allow to make changes in request body - 5017 – TypeScript Property type is missing in
DataFieldConfig
- 5018 – Vue Prop Validation fails for
String
options - 5076 – Cannot configure customized
ViewPreset
set - 5078 –
eventDrag
feature should supporttip
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
andeventMouseLeave
Version 5.1.1
2022-07-28BUG FIXES
Version 5.1.0
2022-07-21FEATURES / 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 arenderer
function (4579) - Scheduler
ResourceModel
now has acolumnWidth
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 asdock: string
is nowdock : 'top'|'right'|'bottom'|'left'
- Create React App templates now available
- Configuring the CrudManager was made a little easier by introducing shortcuts for setting load and sync urls using the
new
loadUrl
andsyncUrl
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 toWidget
and therefore available to allWidget
's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (4300, 4313, 4328)- 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. ConfigureforceSync : 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 isscheduler.wc.module.js
- BREAKING The
draw()
,drawDependency()
,getConnectorEndSide()
,getConnectorStartSide()
,refreshDependency()
andreleaseDependency()
functions on theDependencies
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 theDependencies
feature was deprecated. Calling it should no longer be necessary - Removed the
removeUnassignedEvent
config from Scheduler. It was moved toEventStore
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
isfalse
Version 5.0.7
2022-07-13BUG FIXES
- 1667 – Changing
rowHeight
andbarMargin
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
- 4916 –
Fullscreen
is not working on mobile Safari
Version 5.0.6
2022-06-20FEATURES / ENHANCEMENTS
- TimeRange feature now fires
timeRangeHeaderClick
,timeRangeHeaderDblClick
andtimeRangeHeaderContextMenu
events when interacting with the header elements (4790)
BUG FIXES
Version 5.0.5
2022-05-30FEATURES / 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
andbodyRenderer
methods (4613) - Added
paste
andcopy
events to theEventCopyPaste
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
- 4589 –
EventDrag
broken if async validation finalized without delay inbeforeEventDropFinalize
- 4591 –
response.message
not shown in error mask in case of response code not200
- 4592 –
UndoRedo
needs thetransactionsCombo
emptyText localized - 4607 – VUE 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-11FEATURES / ENHANCEMENTS
- The behaviour of the
EventCopyPaste
feature in a multi assignment scheduler is now better defined and also configurable using the newcopyPasteAction
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 thebeforeCopy
andbeforePaste
events triggered by theEventCopyPaste
feature was deprecated in favour of the neweventRecords
param
BUG FIXES
Version 5.0.3
2022-04-26API CHANGES
- The
validateResponse
flag onCrudManager
has been changed to default totrue
. When enabled, it validatesCrudManager
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 tofalse
). When set totrue
, the events fired by stores are relayed to the Bryntum Grid instance - REACT React wrappers now include TypeScript definitions (3378)
BUG FIXES
- 4127 – LWC
DomHelper.isInView()
throws - 4222 – LWC 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
- 4432 – LWC Mouse events do not work
- 4461 – Vue wrapper triggers doubled
dataChange
events with different params - 4484 –
zoomToFit
does not work correctly wheninfiniteScroll
is enabled
Version 5.0.2
2022-04-13FEATURES / ENHANCEMENTS
ResourceFilter
inSidebar
should be configurable with custom selection (2006)- EventDrag now adds
b-drop-target
class to all valid drop target elements on drag start when anexternalDropTargetSelector
is provided. (3888) - The previously private event
visibleRangeChange
has been removed in favour of the public eventvisibleDateRangeChange
. 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
- 4298 –
b-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
- 4416 –
MergeCells
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
Older versions
- Full release version history can be found here.