Grid – Change Log
Version 6.2.1
2025-04-23FEATURES / ENHANCEMENTS
DateField
now reveals its expected format when input is in incorrect formatAggregateColumn
now has aincludeFilteredOutRecords
which lets you include filtered out records in the aggregation (11105)
STYLING CHANGES
SlideToggle
no longer has a fixed height defined in the CSS. This allows for more flexibility in styling and layout
LOCALE UPDATES
- The
DateField
invalidFormat
message is now updated to include the expected format. New value isformat => 'Invalid date input, expected format is ' + format
BUG FIXES
- 11063 –
TreeColumn
having redundant icon whileLockRows
enabled - 11070 – HIGH PRIO Online demos in codepen crashes
- 11071 – Grid summary column resize issue
- 11079 – Cell pasting is inconsistent based on a drag direction
- 11084 –
expandAll
/collapseAll
crashes when using GroupSummary feature - 11097 – Should not show "invalid field" while typing the field name
- 11104 – Resizing
Popup
sometimes does not stop after mouse-up - 11117 –
Toast
progress aborted in demos after5s
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.78.0
- Remix:
>= 2.15.0
Version 6.2.0
2025-04-10FEATURES / ENHANCEMENTS
TabPanel
now supports adding custom widgets to thetabBar
viaContainer#tabBarItems
. See updated live demo on theTabPanel
docs page (10047)- Tabs in a
TabPanel
can now be reordered using drag-drop, by settingenableReordering
totrue
on thetabBar
(10489) - New
MonthPicker
widget for date picking and calendar control - We’ve improved search in the documentation with new context-aware algorithms, delivering more accurate and relevant results from the API, guides & examples
PdfExport
feature was updated to support row expander. It requires upgrading PDF Export Server to latest version2.0.0
which was recently released in a separate GitHub repository and Docker Hub (10533)- A new feature,
RowEdit
, allows editing of a whole record row at one time using a side docked editor panel (10690) - A new config for
Panel
,drawer
marks aPanel
as a docked, slide-in panel, which by default slides in over the contents of the browser viewport - Tabs in a
TabPanel
that contain invalid input fields will now have a red border to highlight the invalid state (10789) RowReorder
feature now allows drag-drop reordering of rows into new groups to update values of leaf nodes (5689)- Setting
required
on a Field now automatically appends a * to its label, ifshowRequiredIndicator
is set totrue
(10835) - New
CheckboxGroup
widget added (2018) - Popups can now be resized on all sides and corners via the new
resizable
property (6856) - Decimal separator and group separator for formatted numbers can now be configured globally using new static properties on
NumberFormat
:decimalSeparator
andgroupSeparator
(11016) - BREAKING Since most apps have a build process that includes a transpilation step, starting with
v6.2.0
we use the minimum possible transpile polyfills for the source code inside the@bryntum/grid-thin
npm package to ensure that it works for all currently supported frameworks. Previously, each source file was transpiled with more polyfills, which introduced unnecessary overhead from transpilation helper functions. After this change, the size of your built app should be reduced. If you encounter issues with your framework’s builder parsing the code, consider upgrading to a newer framework version that supports the latest ECMAScript specification (10797)
API CHANGES
- The
Widget.accessibility
property has been removed. We now detect when keyboard control is being used, and this can be read from the newWidget.focusVisible
property - Widget drag-drop is no longer done using the native HTML drag-drop (10793)
- Popups are now
draggable
by default - The type of the
value
property on checkboxes was for legacy reasonsString
, it has now been changed to the more expectedBoolean
- BREAKING The
AjaxHelper.fetch()
utility function no longer appliescredentials: 'include'
by default, to better match how the nativefetch
API works. This change also affectsAjaxStore
, if used by your app to handle remote data (10886)
STYLING CHANGES
- Grid cells with overflowing text now use ellipsis by default. If you prefer the old behavior where text is cropped, set Grid’s
cellEllipsis
property tofalse
(2982) - Changed the
showDirty
indicator pseudo-element from:before
to:after
so both therowReorder
grip handle and theshowDirty
indicator can display simultaneously. If you have custom styles targeting:before
forshowDirty
indicator, please update them to target:after
instead (10966) multiSelect
List
s now display empty checkbox icons when unselected and checked checkboxes when selected
LOCALE UPDATES
- Added translation keys
Object.information
andObject.showDetails
,Object.to
,Object.at
,Object.on
,Object.editing
,Object.settings
,Object.go
- New locale key
Toolbar.showOverflowingItems
added for the tooltip shown for toolbar overflow scroll buttons - New locale key
RowNumberColumn.rowNumber
added for theRowNumberColumn
header tooltip
DEMOS
- New
rowedit
demo, which Demonstrates theRowEdit
feature, that edits records in a docked panel. The new demo is located inexamples/rowedit
folder - New
ai-review-grid
demo showing how to use aFormulaProvider
to populate field values using AI. Demo located inexamples/ai-review-grid
folder - New
ai-ecommerce-grid
demo showing how to use AI to generate SEO description + keywords in bulk. Demo located inexamples/ai-ecommerce-grid
folder
BUG FIXES
- 10373 –
Filter
dropdown should include thesameDay
andsameTime
operators - 10623 – Misalignment dragging tab last
- 10625 – ACCESSIBILITY
Checkbox
andTab
selector buttons have no visible focus rendition - 10868 – Previous filter not shown when filtering assigned resources
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.78.0
- Remix:
>= 2.15.0
Version 6.1.9
2025-04-07FEATURES / ENHANCEMENTS
- Added a new
stateSettings
config to control how column state is restored. It includes arestoreUnconfiguredColumns
option to toggle whethercolumns
not explicitly defined in the grid configuration should be restored (10943)
BUG FIXES
- 8782 – Salesforce LWS support in Firefox
- 11014 – Export Issue: Column Type ChipView is empty on export
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.78.0
- Remix:
>= 2.15.0
Version 6.1.8
2025-04-01FEATURES / ENHANCEMENTS
- We’ve launched nightly npm package builds on our Bryntum npm server. Versions follow the format
X.Y.Z-nightly.YYYYMMDD
(e.g.6.1.8-nightly.20250330
), reflecting the current version and publish date - When using the
CellEdit
feature, cells, which contain focusable elements may now be included in thecell-to-cell
navigation by settingtabToFocusables
property (6999) - A grid store filter, which results in only removal of a contiguous block of records within the visible viewport will now update the UI in the same way as a store
remove
operation (10706) - The
CellCopyPaste
feature now supports pasting into multiple non-contiguous cells (10696) - New
applyDefaults
method added to theBase
class to allow setting default values for class configs/properties (10876) AggregateColumn
now lets you toggle aggregation on / off using the newenableAggregation
field (10909)PdfExport
now has anisExporting
property, which you can use to check if an export operation is ongoing (10947)LockRows
features now supports configuring the bottom grid section using thebottomGridConfig
config (10958)Combo
widget now supports togglingmultiSelect
mode on / off at runtimePanel
header
config now accepts aniconCls
property to show an icon in the headerTreeNode
allUnfilteredChildren
property is now public, allowing you to retrieve all children of a node, ignoring any active store filters (11013)
API CHANGES
- The
rtl
config property of widgets is now public. By default, widgets conform to the writing direction of the element they are rendered to. But with the now publicrtl
property, you can force a widget, and all descendant widgets to lay out from right to left (10859) - The
Widget
‘selementAttributes
config is now public allowing to specify attributes to assign to the root element of this widget (10940)
DEMOS
- We have introduced UI localization for our Vanilla JavaScript demos, supporting all 45 currently available locales
BUG FIXES
- 10206 –
parentId
field cannot be remapped - 10621 – HIGH PRIO Opening month picker in event editor closes entire editor in Safari
- 10636 –
groupRenderer
not triggering for empty string values during Excel export - 10701 – TYPESCRIPT Update
AjaxStore
beforeRequest
andafterRequest
parameters docs - 10726 –
Grid
crashes and shows a blank section when scrolling to an invalid editor outside the viewport - 10763 –
Grid
not using correctAjaxHelper.DEFAULT_FETCH_OPTIONS
for paged stores - 10795 – SALESFORCE Remove
Map
/Set
polyfills - 10812 –
Fillhandle
disappears if mouseup happens outside browser window - 10814 – HIGH PRIO Column header misaligned if resize when used regions
- 10825 –
Grid
crashes when reverting changes and reapplying filters on update - 10826 – Error when specifying
labelWidth
with'label'
forDateRangeField
widget - 10840 – Cells still selected when returning
false
from aselectionChange
listener - 10854 – Selecting multiple cells should copy all the selected cell Records when
cellCopyPaste
is disabled - 10874 –
Grid
error withfinalizeCellEdit
and sorting - 10889 – Export to excel should include group header
- 10897 – Sticky elements not correctly accounted for when calculating visible rectangle
- 10924 – React Editor popup cutoff on last row
- 10938 – HIGH PRIO Incorrect CSS
sourceMappingURL
in Bryntum thin npm packages - 10944 –
Grid
colum with combo editor behaves different with picker title specified - 11002 –
Grid
Incorrect focus behaviour when editing grouping fields of records
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.78.0
- Remix:
>= 2.15.0
Version 6.1.7
2025-02-21FEATURES / ENHANCEMENTS
- Copied
Model
instances now have acopyOf
property that points to the original instance (10587) - The
Button
class now accepts asplit
property, which means that its menu will only be shown when clicking on its arrow icon, and it will only toggle itspressed
state and action itsclick
handler when clicking on the main part (10678) - A new config,
scrollAction
for theCellEdit
feature specifies what should happen if the cell editor is scrolled out of view, for example when using a mousewheel. The default value isnull
which preserves the current behaviour of continuing the edit (10760) - The
CellEdit
feature now supports rendering the editor as a floating element outside the cell element (10767)
API CHANGES
- Tree stores got a new
keepExpandedOnLoad
config inv6.1.4
, but it fell out of the changelog. When set totrue
, the tree will restore matching nodes expansion state after a reload (10017)
DEMOS
- REACT-VITE "Vue Renderer" JavaScript demo has been updated to use to React + Vite. The new demo is located in
examples/frameworks/vue-3-vite/vue-renderer
folder (10680) - REACT-VITE New
infinite-scroll
demo showing how to load data on demand using RTK Query + lazyLoad feature of Bryntum Grid. Demo is located inexamples/frameworks/react-vite/infinite-scroll
folder (9886) - New Demo
collapsible-inline-columns
showing collapsing / expanding of inline columns. Demo is located inexamples/collapsible-inline-columns
folder (10266)
BUG FIXES
- 9587 – HIGH PRIO
StoreDataField
change tracking not working when using store field - 10586 –
TreeGroup
check column not grouping null values with false - 10652 – Grid crashes on
store.removeAll()
whenlazy-loading
enabled - 10665 – VUE-3 Unexpected warnings from the wrapper
- 10699 –
deselectFilteredOutRecords
not working on a Tree Grid - 10704 – Check column still changes when column is set to be
readOnly
- 10714 – Clicking on custom expand and collapse icon makes record selected
- 10715 –
StateProvider
doesn’t preserve thescrollTop
- 10739 – Horizontal time axis scroll position reset when entering time axis header using keyboard
- 10761 – Using
scrollable
config insubGrid
configuration breaks the SubGrid’s scrollability - 10763 – Grid not using correct
AjaxHelper.DEFAULT_FETCH_OPTIONS
- 10784 – Groups not collapsing when using a check column
- 10785 – HIGH PRIO Exception when dragging linked record to an empty group
- 10787 – Wrong width then using row reorder and selectable row
- 10794 – Column filter not clearing correctly when empty input
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.78.0
- Remix:
>= 2.15.0
Version 6.1.6
2025-01-31FEATURES / ENHANCEMENTS
- ACCESSIBILITY
TreeColumn
cells in parent rows now include anaria-expanded
value ensuring that row collapsed state is announced (4643) - Tabs in a
TabPanel
can now beclosable
which shows an X icon (8679) - ACCESSIBILITY
FilterBar
fields now have anaria-label
defined to let screen readers announce context - ACCESSIBILITY
Widget
now has anannounceAriaLive
method letting you provide a text message to screen readers via anaria-live
element - The
CellEdit
feature now supports usingWebComponents
as input elements making it possible to provide an Angular component as a cell editor (10471)
API CHANGES
- DEPRECATED Widget
ariaLive
property was deprecated and will be removed in7.0
DEMOS
- ANGULAR New Angular
celledit
demo, which Demonstrates theCellEdit
feature has been added. New demo is located inexamples/frameworks/angular/celledit
folder - REACT-VITE Added React Color cell editor to
cell-edit
example to demonstrate how to use popup editors. Updated the React version of the demo to19.0.7
and Vite version to6.0.9
. Demo is located inexamples/frameworks/react-vite/cell-edit
folder
BUG FIXES
- 73 – React components rendered inside the cells are not overflowing it
- 1356 – Export summary rows to Excel
- 4280 – Pressing shift shows cell focus outline
- 9518 – Sort count is being shown when only 1 sort count is used along with grouping
- 9946 – Resolve prototype pollution warnings from GitHub Advanced Security
- 10215 – ACCESSIBILITY No records found after the filtering the scheduler not announced by the Voice-Over
- 10407 –
DateRangeField
ignoresclearable
config - 10428 – Enable CSS targeting of column-specific filter UI fields
- 10466 – Nested grid with chart demo race condition
- 10490 – ACCESSIBILITY
RowExpander
column has noaria-label
- 10495 – ACCESSIBILITY
RowExpander
button needsaria-label
- 10516 –
TimeField
label misaligned if initial value has not been set - 10519 – Grid splitter has lower
z-index
thanemptyText
- 10591 – HIGH PRIO Not possible to provide
ariaLabel
in Column subclass - 10617 –
Shift + Backspace
clears text field value - 10624 – HIGH PRIO
CellEdit
freezes when tabbing into readonly row
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.38.0
Version 6.1.5
2024-12-25BUG FIXES
- 10393 – VUE-3-NUXT Basic demo doesn’t display the demo title
- 10467 – Moving a column to the left section does not work when using
LockRows
- 10468 –
emptyText
should not show during store load - 10488 – HIGH PRIO
grid-taskboard
demo code is not available in online Code Editor - 10496 – ACCESSIBILITY Key navigation stuck after landing on a checkbox inside a grid cell
- 10502 – ACCESSIBILITY Rating column cannot be edited using keyboard
- 10504 – ACCESSIBILITY
TimeField
cannot stop editing usingESC
key - 10510 – Configuring a store and items leaves a combo store misconfigured
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.38.0
Version 6.1.4
2024-12-09FEATURES / ENHANCEMENTS
- Starting with the
6.1.4
release, there are now trial versions of thin NPM packages available on our NPM server. These can be used to evaluate combining multiple products before purchasing a license. Please check the "What’s new" guide for the details
API CHANGES
- For more similar behavior between browsers,
DateHelper.parse
now ignores very short strings and discards any dates with a year before1900
when falling back tonew Date()
parsing. This affectsDateField
s usingstrictParsing: false
(the default). Before this change, Chrome parsed'2'
asFeb 2001
, while Safari parsed it asJan 0002
STYLING CHANGES
- When dragging multiple grid rows, a new proxy showing each record was added. The old
b-row-dragging-multiple
CSS class is no longer used (10340) - Added a new config
closeOnEscape
to control whether pressing theESC
key will close the popup
DEMOS
- ANGULAR Added new Angular
basic-thin
demo showing use of thin NPM packages. Demo is located inexamples/frameworks/angular/basic-thin
folder - REACT Added new React
basic-thin
demo showing use of thin NPM packages. Demo is located inexamples/frameworks/react-vite/basic-thin
folder - VUE-3 Added new Vue-3
basic-thin
demo showing use of thin NPM packages. Demo is located inexamples/frameworks/vue-3-vite/basic-thin
folder - WEBPACK Added new Webpack
basic-thin
demo showing use of thin NPM packages. Demo is located inexamples/frameworks/webpack/basic-thin
folder - REACT Added new React
renderer-context-react-19
demo showing use of context rendering with React 19 JSX components. Demo is located inexamples/frameworks/react-vite/renderer-context-react-19
folder
BUG FIXES
- 7065 – HIGH PRIO Export to PDF feature missing paper formats
- 10364 – Restore expand on non-editable input click for
TextAreaPickerField
- 10367 – Context menu opened from keyboard throws in Salesforce
- 10384 – Add missing percentage docs to
Numberfield
- 10386 – Adjust increment/decrement/error tooltip handling of percentage
Numberfield
- 10397 – Block
ESC
key from propagating in cell editor - 10413 –
FillHandle
only works on the first table selected when there are two or more tables on the page - 10414 –
DatePicker
doesn’t highlight today date - 10415 –
DateField
picker shows previously selected date after input is cleared - 10419 – Combo does not return record
- 10424 – RTL Popups with centered set to true are not centered in RTL mode
- 10429 – Keystrokes on actionable items in grid cells no longer work
- 10446 – Records are duplicated when row is dropped to an empty group
- 10448 – REACT JSX renderers are not supported with
React 19
- 10452 – Drop to a group with empty array field should clear the array field on the corresponding record
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.38.0
Version 6.1.3
2024-11-18FEATURES / ENHANCEMENTS
Print
feature is supported in Salesforce with LWS enabled (7917)- The
RowExpander
feature now exposes therefreshRow
function, which when called with arecord
, refreshes the content of an already expanded row (10167) - A sort direction param was added to
CollectionSorter
´ssortFn
function (10171) - Stores can now be configured with
reapplySortersOnUpdate
to trigger sort after a record is updated (877) - Store sorters can now be configured with a
caseSensitive
boolean if you want sorting to be case-insensitive (10267) - Salesforce LWC build now using generators instead of async/await as a workaround for Firefox bug. LWC bundle is now compiled with
"chrome": "54"
babel target (7849) - By configuring a data field with
complexMapping : false
, it can now point to a data property containing a dot (.
), for example{ "member.name" : "value" }
. Previously (since v4.1), the dot was always interpreted as a nested object path (10168)
API CHANGES
- The CellEdit
beforeFinishCellEdit
event now also includes anoldValue
param - VUE 2 reached end of life on December 31, 2023. As a result, we will no longer be updating our Vue 2 components. While the components will continue to exist, we will remove them in a future release and recommend that you upgrade to Vue 3 for continued support
STYLING CHANGES
- Certain color adjustment functions in SASS has been deprecated and will be removed from SASS in a future version. To be prepared for that, we have replaced our usages of these functions with the new ones. In general, this should not affect the look of components, with reservation for minor color variations (for more information, see https://sass-lang.com/documentation/breaking-changes/color-functions)
DEMOS
- Renamed "theme" demo to "custom-theme". The updated demo is located in
examples/custom-theme
folder (10155)
BUG FIXES
- 9018 – HIGH PRIO Localization doesn’t work for Microsoft Dynamics CRM Online
- 9691 –
columnDrag
event paraminsertBefore
does not get updated once we setcontext.valid
tofalse
- 10084 – Error in currency format
- 10127 – Store changes not being tracked as expected when using a tree store with filters
- 10177 – Spamming row expander causes crash
- 10204 – Remove
tbar
,bbar
andheader
from cloned grid in LockRows feature - 10234 – HIGH PRIO Correct formatting of
NumberField
percentage with decimal digits - 10255 – Error when replacing data with
parentId
property - 10258 –
showAnimation
does not animate the Popup - 10260 – React flushSync was called from inside a lifecycle method runtime error
- 10263 – Card layout
activeItem
yields the hidden, previousactiveItem
in show listeners - 10273 – DOCS
beforeFinishCellEdit
eventvalue
param points to the old value - 10278 – TYPESCRIPT Define the
GridSelectionMode
type - 10285 – HIGH PRIO Combobox does not clear unmatched initial value
- 10309 – Error in
Combo
grouping after updating to6.1.0
VERSIONS SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 3.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
- Sass:
>= 1.38.0
Version 6.1.2
2024-10-11FEATURES / ENHANCEMENTS
toggleCollapse
method on the Group feature now accepts an array of records/ids (9749)- Implemented support for
headerRenderer
to return JSX and updated the "Using React Context with renderers" example to demonstrate its usage. The demo is located inframeworks/react-vite/renderer-context
folder. (7342)
API CHANGES
Store
has a new better way of chaining tree stores. By usingchainTree()
instead ofchain()
, the chained store will be a full tree store with links to the nodes in the original store. This will let you expand / collapse and filter the tree in one store without affecting the other (9171, 9177, 9178, 10130)- When using both the
RowCopyPaste
and theCellCopyPaste
feature, copying row data and pasting it into cells, the copied data will now be inserted as new rows. - DEPRECATED The
makeChained
function inStore
was deprecated in favor ofchain
andchainTree
. It will be removed in7.0.0
- DEPRECATED The
groupRecord
param of the Group feature´stoggleGroup
andbeforeToggleGroup
events is deprecated in favor of thegroupRecords
param, since you can now toggle multiple group records. The param will be removed in7.0.0
DEMOS
- REACT-VITE "Basic" TypeScript and JavaScript demos have been updated to use to React + Vite. The new demo is located in
examples/frameworks/react-vite/basic
folder (9932) - VUE-3-VITE "Basic" (Vue 3 + Vite) demo has been updated to use TypeScript. The demo is located in
examples/frameworks/vue-3-vite/basic
folder (9808)
BUG FIXES
- 9241 – Implement support for configuration with rows higher than paper size
- 9412 – HIGH PRIO php demo cannot handle remote filter properly
- 10106 – Row reorder handle was misaligned
- 10107 – Pasting rowCopy data into cells failed in some cases
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.1.1
2024-09-27API CHANGES
- Popups now realign automatically when scrolling if
anchor
is configured.
BUG FIXES
- 9566 – TYPESCRIPT Nullable child items need type null for TS apps
- 9914 – HIGH PRIO
animateTreeNodeToggle
with locked columns places rows incorrectly
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.1.0
2024-09-18FEATURES / ENHANCEMENTS
- Group feature now offers to show a checkbox in group row headers via
selectionMode.showCheckAllInGroupRows
(2208) - Model now supports fields being calculated via the new
calculate
property (3070) - The regular non-Ajax
Store
now has the ability to accept remote paging, sorting and filtering (6860, 8180, 9363, 9887) - The
FilterBar
feature now supports remote filtering without usingAjaxStore
(7477) AjaxStore
has new configs that lets you transform incoming and outgoing data:transformLoadedData
,transformCreationData
,transformModificationData
,transformRemovalData
(8314)Column.type
instance member is now public (9229)- The
TreeGroup
feature now supports summaries in each group parent row using the Columnsum
config. See this in action in the updatedtree-grouping
demo (9716) ExcelExport
feature got a minor refactoring, and now uses more feature-richwrite-excel-file
library (6089)
BUG FIXES
- 9319 – Exceptions when copy-pasting records in Grid demo with charts
- 9468 – Crash when selecting date in fullscreen docs fiddle
- 9876 –
DateRangeField
picker wrongly scrolls right one month when picker is shown (Firefox only) - 9955 – Aggregation demo total column shows only
$0
- 9959 – Grid crashes when deleting records with group checkbox selected
- 10043 –
DayTime
includes end on startTime and start on endTime
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.6
2024-09-13FEATURES / ENHANCEMENTS
- Added a
ignoreLinkRecords
config toStoreChain
, to avoid importing linked records from a master store, such as when you group by an array field (9840)
DEMOS
- ANGULAR Added new demo showing how to create a custom theme by modifying scss variables. The demo is located in the
frameworks/angular/custom-theme
folder - VUE-3 Added new demo showing how to create a custom theme by modifying scss variables. The demo is located in the
frameworks/vue-3/custom-theme
folder - REACT-VITE Added new demo showing how to create a custom theme by modifying scss variables. The demo is located in the
frameworks/react-vite/custom-theme
folder - REACT-VITE New renderer context demo showing how to configure React renderers to use the React Context. The demo is located in the
frameworks/react-vite/renderer-context
folder (Fixed 8923)
BUG FIXES
- 8998 – Printing Gantt with more than 3000 records causing application to crash
- 9298 –
LazyLoad
beforeLoad
event isn’t triggered - 9671 – HIGH PRIO REACT Grid column renderer flickering when row is updated
- 9746 – SALESFORCE
RowExpander
doesn’t expand records in Salesforce - 9748 – View is not updating on adding resources using
add
method with lock rows feature and grouping - 9758 –
aria-readonly
not properly set on Grid cell - 9767 – Column filter returns undesired results
- 9872 – Records are not persisted when group is collapsed
- 9896 – Grid not rendering any data in Firefox 115 ESR
- 9905 – Accessibility issue in date picker widget, toolbar buttons should not have
role="presentation"
- 9913 – Grouping from header menu is broken
- 9927 – Accessibility
DatePicker
doesn’t announce selection status and week day name for selected date in date picker - 9950 –
RowExpander
will often become detached from record - 9988 – Exception when moving record with empty group value
- 10006 – Placeholder should not be visible after selecting an item in combo with no label
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.5
2024-08-30FEATURES / ENHANCEMENTS
- DatePicker now supports selecting ranges by tapping twice on touch devices when
multiSelect
is enabled
BUG FIXES
- 5233 – ANGULAR Frameworks wrappers components not triggering some events
- 9572 – Default currency from locale not used
- 9712 –
store.createRecord()
behavior different withuseRawData
- 9718 – VUE-3 Preventable events don’t work in Vue wrapper
- 9738 – TYPESCRIPT
FieldTrigger
class missing docs for its activation key - 9754 –
EventHelper.onTransitionEnd
calls its handler usingglobalThis
ifglobalThis.callback
exists - 9770 –
FillHandle
not moving to active cell afterEnter
key press - 9771 –
beforeClose
event should handle asynchronous listeners - 9772 –
Container
should be able to track presence of changes to its fields - 9779 –
ActionColumn
does not callonClick
handler for items created by a renderer - 9781 –
AjaxStore
events, which contain url should read back the url property so that handlers can mutate it - 9797 –
lazyLoad
with TreeGrid hangs - 9801 – Lock rows feature display broken with grouping and filtering
- 9802 – Text cells show as dirty changes when reverting values to empty string
- 9805 – HIGH PRIO Grid freezes when row reordering in column using an array field
- 9819 – Font awesome tree arrows too big on touch screen
- 9851 – Crash on array column when grouping
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.4
2024-08-02FEATURES / ENHANCEMENTS
- The difference between
Model.fields
andModel.allFields
was clarified in the documentation (9700)
BUG FIXES
- 8328 –
Panel
fields items not being populated from record config - 9672 – Incorrect docs for navigate event
- 9680 –
RatingColumn
value not exported to Excel
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.3
2024-07-26FEATURES / ENHANCEMENTS
- Store now fires
beforeFilter
event before filters are changed (9652) - The plugin processing has been updated to correctly handle multiple plugin configurations
BUG FIXES
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.2
2024-07-24FEATURES / ENHANCEMENTS
- Bumped the built-in version of FontAwesome Free to
v6.6.0
, which includes a new table-cells-row-unlock icon sponsored by Bryntum - The
getCount()
function ofStore
now accepts an options object, letting an app control how records in the store are counted (for example if filtered out records should be included in the count or not) (8737) - Added a
totalCount
property toStore
andAjaxStore
. It replaces the existingallCount
property, but has a better defined behavior, and the name also matches thetotal
property that is expected to be passed in the dataset when using paging
API CHANGES
- DEPRECATED
Store.allCount
andStore.originalCount
was deprecated. Their behavior was not well documented or clear, we recommend usingStore.totalCount
orStore.getCount(options)
instead to count the records in the store in the way your app needs - DEPRECATED The
Store.getCount(true/false)
signature has been deprecated. UseStore.getCount(options)
instead for better control of how records are counted GridRowModel
now has a newfixed
field built-in (used byLockRows
feature)
DEMOS
- REACT-REMIX "Basic" (React + Remix) demo shows using Grid component in Remix. The demo is located in
frameworks/react-remix/basic
folder (4912)
BUG FIXES
- 8835 –
FillHandle
RTL issues - 9462 – Summary row cells misaligned when using variable column flex
- 9481 – Filter lost when no results present with remote filtering
- 9521 – Deleting a row while cell editing makes the value disappear in the next row
- 9530 –
LoadMask
only masks top grid section when usingLockRows
feature - 9545 – Getting
Undefined
if no value passed toitems
property of filter - 9548 – TYPESCRIPT
mergeRenderer
is not well documented - 9573 – Column custom
ariaLabel
is reverted to the default on focus in Cell
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.1
2024-07-05FEATURES / ENHANCEMENTS
- PERFORMANCE New
refreshOnlyAffectedSummaries
property added to theSummary
feature which only refreshes column summaries affected by a record update. (9511)
BUG FIXES
- 9077 – Filter combo not showing correct text when set to false when filtering
ManuallyScheduled
column - 9198 – Grid printing does not handle auto height rows
- 9295 – Grid Print hangs if the store has no visible records
- 9419 – Column lines showing on header when
columnLines
is set tofalse
- 9436 – DOCS Improve docs and type for
colors
property - 9445 – Button rendered in cell HTML prevents selection
- 9463 –
Rowreorder
handle misplaced in right-aligned column - 9480 – Incorrect tooltip and filter icon when no option is selected in
multiSelect
Filter
combo - 9489 – Styling issue for
ColumnManager
Popup - 9495 – Fill Handle Issue when change column definitions
- 9510 – Exiting grouping breaks the Stripe feature
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 6.0.0
2024-06-28We are thrilled to announce version 6.0
of our Grid product. This release marks a significant milestone for us after more than two years of dedicated development. In this update, we are excited to bring you:
- Lazy loading of rows as you scroll, for huge datasets
- Support for freezing rows
- New
DateRangeField
widget - Support for rendering widgets into grid column headers
- Drag-drop of rows between different Grids and TreeGrids
- Improved TypeScript typings
- A new code editor in the examples for easy fiddling
- Cool new demos
- Bug fixes and other enhancements requested by our community
A special thanks to everyone who helped us by testing our alpha and beta versions. Your feedback and support have been invaluable
FEATURES / ENHANCEMENTS
- The List widget now offers a
tooltipTemplate
method to show a tooltip text for each list item (887) - Stores now have support for lazy loading of data, which when used in the Grid, loads new records while scrolling (1804, 8001)
- Added a new
DateRangeField
widget for picking a range of dates (1888) - Convert button to
menuitem
onToolbar
overflow where appropriate (2298) - Programmatically expanding & collapsing a
Panel
was made easier by addingexpandPanel()
andcollapsePanel()
methods (5871) - The
RowCopyPaste
feature has been enhanced in two ways. It now creates clones of the copied records immediately on a copy action. This makes the copied data unaffected by any Store changes between the time of copying and the time of pasting. Additionally, when copy-pasting between different Grid instances, the complete record will be copied, not just the fields that have a corresponding column, as it was previous (6379) - PDF export server has been moved from
examples/_shared/server
folder to its own GitHub repository: https://github.com/bryntum/pdf-export-server (6820) - Columns now support having widgets rendered into their header via the new
headerWidgets
config. See it in action in thenested-grid-with-chart
demo (6855) - The default format for
NumberField
andNumberColumn
now includes all numeric-related configs from the current locale, like decimals separator, grouping separator etc. (6948) - The
ColumnReorder
feature has a new propertystretchedDragProxy
which displays a full-height transparent element while you reposition the column (7870) - The
AjaxStore's
commit
function now queues calls being made while already committing instead of aborting and returningfalse
. Previously, when a commit was finished, all Store changes were cleared. Now, only changes related to the actual commit will be cleared, so any changes being made after the commit call and before the commit finishes will be left untouched (7980) - Elevate
tabIndex
config fromTextField
toField
(8010) ButtonGroup
should allow multiple toggled buttons (8142)- Add
tabIndex
config to Button (8166) - STYLING The
DatePicker
no longer uses a background color in its header, for a cleaner look (8187) - DOCS Documented step triggers for
DateField
,NumberField
,TimeField
&DurationField
(8270) - Grid state mechanism now supports the
TreeGroup
feature (8364) - The
RowReorder
feature now supports dragging rows into other grid instances (9225) - ACCESSIBILITY Buttons without text now adds the tooltip text to the
aria-label
attribute (9360) DurationField
now acceptsstep
as a duration string (e.g."15min"
)- New
columnCollapseToggle
event fired by Grid when a group column is collapsed or expanded. Thecollapsible-columns
demo was updated to use this event (previously used private event), so if you copied code from this demo, you may want to review and update your code. - The code editor in examples is now implemented with the VS Code engine. Code folding, search and replace, full undo/redo is now available when editing examples
- To better follow readability recommendations,
NumberColumn
now defaults to aligning its content to the end (right for LTR, left for RTL) - TypeScript Class configs
Config
(e.g.ButtonConfig
) now provide type declarations forlisteners
parameter in.d.ts
files - TypeScript Class configs
Config
(e.g.ButtonConfig
) types now have optional parameters in.d.ts
files.*Config
type can be used instead ofPartial<*Config>
declaration PercentColumn
now offers to render a circular percent indicator via the newmode
config- The
Filter
feature now supports columns with afilterable
config in the new multi-filter UI - Bumped the built-in version of FontAwesome Free to
v6.5.2
, which includes a new table-cells-row-lock icon sponsored by Bryntum - Angular Bryntum Angular wrapper now exports
Bryntum...Props
types (e.g.BryntumGridProps
) which match the configs available for a wrapper component (e.g.BryntumGridComponent
). Wrappers code is now delivered with documentation inside, that helps in setting up the components - The Group feature has a new
headerHeight
property to easily change group header row heights. EventHelper
no longer mutates the DOM event object to fix browser quirks and add utility properties. It now wraps the DOM event with a Proxy, which exposes all the properties of the DOM event and also accepts any new properties added to it. The original DOM event is available in thebrowserEvent
property- New
alwaysMultiSelect
selection mode added to Grid, where all row or cell (configurable) clicks adds to the current selection. Click on a selected row or cell deselects it - The
RowCopyPaste
feature is now configurable withcutOnly
, which translates all copy actions into cut actions and prevents theCopy
context menu option
API CHANGES
- VUE-3 Bryntum Vue-3 wrapper now exports
Bryntum...Props
types (e.g.BryntumGridProps
) which match the configs available for a wrapper component (e.g.<bryntum-grid>
). Wrappers code is now delivered with documentation and TypeScript sources inside (3085) - BREAKING Previously, when returning
undefined
from a column renderer, the actual cell will not be updated. There is a config onGrid.column.Column
which controls this behaviour –alwaysClearCell
. Since 6.0,alwaysClearCell
will default totrue
, requiring columns that relies on the previous behaviour to be configured withalwaysClearCell
set tofalse
(5622) - DEPRECATED The
WidgetHelper
utility class has been deprecated and will be removed in a future release. Use the corresponding widget class instead –Widget
,Toast
orMask
(6103) - DEPRECATED The
beforeExpand
,expand
,beforeCollapse
andcollapse
events triggered by theRowExpander
feature are now deprecated. Use the newbeforeRowExpand
,rowExpand
,beforeRowCollapse
androwCollapse
events on Grid instead (7845) - BREAKING
DateColumn
now warns when not using aDateDataField
in the underlying field definition of theModel
. ADateDataField
will be created in this case, which results in thevalue
provided to theDateColumn
renderer
method will now always beDate
objects (previouslyString
type if data was not parsed) (8226) - STYLING Tooltips with pure text contents (non-HTML) are now shown with less body padding (8287)
- BREAKING The
useRawData
setting onStore
is now enabled by default, but with all sub-settings disabled. This means that the incoming data object will be used as is, without being cloned. Which will boost data loading performance, but is potentially a breaking change if the data object is reused / used in other parts of the application (8335) - To allow defining multiple filters with same
property
but differentoperator
, filter ids are now generated by combiningproperty
andoperator
(property-operator
, previously onlyproperty
). For examplevalue-=
andvalue-<
(8482) - BREAKING In
6.0.0-alpha-2
we changed the default value foruseRawData
on stores totrue
. This boosted record creation performance by not cloning the incoming data object. However, this change has lead to some issues, and we are now taking a step back. It will once again default tofalse
when supplying data inline, and instead only totrue
when data is loaded remotely using anAjaxStore
(9289) - The
RowCopyPaste
feature’s eventscopy
andbeforePaste
has gotten their parameters slightly changed. The parameterrecords
now contains clones of the copied records, and the original copied records can be found in the parameteroriginalRecords
(these parameters are wrapped in a single event object) - Field´s
highlightExternalChange
default value is nowfalse
- BREAKING
keepDate
config of theTimeField
class now defaults totrue
(previouslyfalse
) - DEPRECATED
@bryntum/babel-preset-react-app
,@bryntum/cra-template-typescript-grid
,@bryntum/cra-template-javascript-grid
npm packages are deprecated, and will not get any further updates. Versions prior to6.0.0
are still accessible - BREAKING The following previously deprecated APIs were removed:
BrowserHelper.supportsPassive
(v5.0.0)CalendarPanel.showWeekNumber
(v4.0.0)DomHelper.up()
(v5.3.9)DomHelper.focusWithoutScrolling()
(v5.6.4)DomHelper.addClasses()
(v5.0.0)DomHelper.removeClasses()
(v5.0.0)FieldFilterPicker.fields
array form (v5.3.0)FieldFilterPickerGroup.fields
array form (v5.3.0)LocaleManager.registerLocale()
(v5.3.0)LocaleManager.extendLocale()
(v5.3.0)NumberField.decimalPrecision
(v3.1.0)NumberField.leadingZeroes
(v3.1.0)PickerField.autoClose
(v5.5.5)Breakpoint
typedef (v5.0.0)Responsive.responsiveHeightChange
event (v5.0.0)Responsive.responsiveWidthChange
event (v5.0.0)Responsive.breakpoints
config (v5.0.0)record
param for theStore.move
event (v4.1.4)Store.storeId
(v3.0.0)Widget.showByPoint()
(v5.0.2)- The
gridRowBeforeDragStart
,gridRowDragStart
,gridRowDrag
,gridRowBeforeDropFinalize
,gridRowDrop
,gridRowAbort
events triggered directly on theRowReorder
feature (v5.3.3) record
param for thegridRowDrop
event (v4.0.0)Grid.navigateLeft()
argument (v5.2.1)Grid.navigateRight()
argument (v5.2.1)Grid.navigateUp()
argument (v5.2.1)Grid.navigateDown()
argument (v5.2.1)Filter.isMulti
(v5.6.0)Grid.selectionModel.rowCheckboxSelection
(v5.3.3)PdfExport.enableDirectRendering
(v5.2.0)
- The
Point
utility class has afrom()
function that creates aPoint
from anEvent
. The coordinates for thatPoint
are now in client space, not screen space - BREAKING The following default values were changed:
Combo.clearTextOnSelection
now defaults totrue
Column.alwaysClearCell
now defaults totrue
Store.fireRemoveEventForMoveAction
now defaults tofalse
Grid.animateTreeNodeToggle
now defaults totrue
RegionResize.animateCollapseExpand
now defaults totrue
- BREAKING The following previously deprecated APIs were removed:
Store.idField
(v2.0.0)TextAreaPickerField.inline
(v4.3.7)event
argument ofGrid.navigateUp/Down/Left/Right()
(v5.2.1)
- BREAKING The following menu item keys have been renamed:
editFilter
->filterEdit
disableFilter
->filterDisable
removeFilter
->filterRemove
- BREAKING The
Grid.util.Location
class has been renamed toGrid.util.GridLocation
to not match the nativeLocation
class name FilterBar
feature now uses=
operator by default when filtering inNumberColumn
(previously used*
operator)Duration.toString(true)
now uses a shorter representation without space ('5d'
, previous'5 d'
)- The
CheckColumn
minWidth
config was changed to30px
- BREAKING The
source
event param in allRowReorder
events have been changed to the Grid instance to conform with how other events are fired
STYLING CHANGES
- The Stockholm theme got some slight tweaks to panel header (removed bottom border) and tab panel styling (replaced active tab background with thick bottom border) for a more modern look (8440)
- New
ui
for Panel calledplain
which uses a single background color for the panel and no border/background for header or toolbars MessageDialog
now uses the newplain
rendition- The
b-grid-empty
CSS class is now added to the root Grid element when there are no rows (previously this CSS class was put on the body container element)
LOCALE UPDATES
- New locale key for the
LockRows
feature,unlockRow
DEMOS
- VUE-3-VITE New demo showing how to use
FieldFilterPickerGroup
to filter a Grid store, synchronized with the Grid Filter feature. The demo is located inframeworks/vue-3-vite/fieldfilters
folder (8836) columns
demo has be updated to show how to add, remove, rename, rearrange and resize columns (9214)- New
nested-grid-with-chart
demo showing how to embed custom widgets such as a 3rd party charting library - New
drag-between-grids
demo showing how to drag rows between differentGrid
instances - New
drag-between-trees
demo showing how to drag rows between differentTreeGrid
instances - New
grid-taskboard
demo showing how to combine theGrid
andTaskBoard
widgets
BUG FIXES
- 4933 – Toggleable button loses state when moved to toolbar overflow menu
- 5074 – HIGH PRIO Returning
undefined
from column renderer produces unexpected content - 6441 – Instance config values should not be overridden by responsive configs
- 6854 – Pressed state lost as button in
ButtonGroup
enters an overflow menu - 7760 – HIGH PRIO TypeScript Type intersection with
any
might be wrong - 7826 –
FilterBar
Combo
field icons missing padding - 7827 – Misalignment when using
FilterBar
with compactMode for non-left aligned columns - 8171 –
FieldFilterPickerGroup
configlimitToProperty
should also apply to configuredfilters
- 8329 – HIGH PRIO PDF generated using Gantt Print Feature showing duplicate tasks
- 8409 – Crash when selecting date in
DateRangeField
with null value - 8459 – HIGH PRIO
Carousel
should support swipe gesture scrolling for mobile/touch - 8463 – Widgets in overflow menu fire events twice
- 8510 – Should be possible to add
FilterBar
only for an individual column - 8513 – Example Code editor does not destroy old example widgets when new code is evaluated
- 8523 –
SlideToggle
inside overflow menu triggers 2 change events - 8559 –
DurationField
not working withFilterBar
- 8569 –
LockRows
feature should leave the store unchanged - 8580 – Event disappears if dropped on locked row
- 8582 – Locked row styling tweaks
- 8586 – HIGH PRIO Records disappeared on "Add" button click and quickly scroll to bottom and top
- 8589 – Cutting from locked rows and pasting to normal rows doesn’t paste to the normal rows and vice versa
- 8604 – Code editor should have dark splitter in dark theme
- 8605 – Crash when adding
?code=1
to example URL to show editor initially - 8612 – Code panel collapse animation reveals vertical placeholder at the end of the animation
- 8613 – Duplicate row numbers when using
LockRows
+RowNumber
column - 8614 –
LockRows
feature does a full render before setting up locking - 8615 – Cell widths out of sync with locked rows +
autoWidth
columns - 8616 – Lock rows feature will trigger a filter after every change to the data
- 8621 – Nested grid with chart demo: Outer grid not updated when editing inner grid data
- 8698 – Panel header changes size when collapsing / expanding panel in Stockholm theme
- 8813 – HIGH PRIO Toolbar items lose their value when moved into toolbar overflow menu
- 9058 –
LockRows
feature does not supportGroup
feature - 9066 –
CellEdit
not compatible withLockRows
- 9080 –
LockRows
not compatible with checkbox selection - 9085 – REACT
6.0.0-alpha-3
thin packages"Can't resolve 'vs/editor/editor.main'"
error on build - 9101 – Crash in
lock-rows
demo when using "Fix by color" field - 9103 –
Nested-grid-with-chart
demo not updating nested grid when outer grid changes - 9105 – Grid
Infinite Scroll
demo crash on applying filter - 9108 – No option to enter value for a filter in Infinite Scroll Demo
- 9138 –
LockRows
not compatible with remote data - 9284 –
Checkbox
‘s overflow twin lacks text - 9318 – Item cannot be dropped last in drag between grids demo
- 9320 – Group header menu should not show option to lock/unlock the row
- 9333 – Grid
drag-between-trees
demo throws when dragging to emptyTreeGrid
- 9334 – Grid
drag-between-grid
demo shows wrong drop position when dragging to emptyGrid
- 9369 –
TreeGroup
on name and usingparentRenderer
resulting in crash - 9419 – Column lines showing on header when columnLines is set to false
- 9444 – MessageDialog prompt is not setting value for textField
FRAMEWORK SUPPORT
- NodeJS:
>= 20.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.13
2024-06-26FEATURES / ENHANCEMENTS
Filter
feature column header tooltips now display localized text for active filter operators, e.g.equals
instead of=
(9338)- ACCESSIBILITY ActionColumn actions now support
ariaLabel
attribute to add a descriptive text for screenreaders (9377) - Added documentation for two new Grid events:
horizontalScroll
andhorizontalScrollEnd
(5064)
API CHANGES
ContextMenus
no longer callevent.preventDefault()
if there are no items to show (meaning native context menu will be shown). To prevent native menus from showing, please use the newpreventNativeMenu
config option- Column
grid
property is now public (9409)
DEMOS
- VUE-3-NUXT "Basic" (NUXT) demo shows using Grid component in NUXT. The demo is located in
frameworks/vue-3-nuxt/basic
folder (9200)
BUG FIXES
- 9369 –
TreeGroup
on name and usingparentRenderer
resulting in crash - 9375 – Grid navigation fails when no cell is focused
- 9376 – Activate button in Action Column with
Spacebar
- 9384 – Cell menu disabled when Grid is
readOnly
- 9390 – HIGH PRIO Buttons in grid
WidgetColumn
cells cannot be invoked using keyboard
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.12
2024-06-13FEATURES / ENHANCEMENTS
- The
refreshRows()
method available onGrid
now optionally accepts an array of records, to only refresh the corresponding rows (9179) - New events
beforeExcelExport
andbeforeCSVExport
are added, which will be triggered before Excel and CSV export respectively (8511)
API CHANGES
- Combo dropdowns now auto width around visible content, but match at least the width of the Combo’s input area (9252)
- VUE REACT When using wrappers for Vue or React,
syncDataOnLoad
is by default set totrue
on all stores configured on the wrapped Widget. Starting from5.6.12
, stores with a configuredreadUrl
will have theirsyncDataOnLoad
default tonull
BUG FIXES
- 8762 – TypeScript incorrect declaration of
GridConfig
comparing to the docs - 8890 – Nested relation field does not call custom setter for field
- 8955 –
fillHandleBeforeDragFinalize
paramsfrom
andto
not correct when dragging from bottom to top cell - 9065 – HIGH PRIO Copy/paste keyboard shortcuts do not work with Salesforce
Locker
- 9111 –
CellEdit
throws exception when autocompleting field in Safari - 9235 – Grid row reorder proxy does not stay in view when triggering side scrolling
- 9246 – HIGH PRIO
id
field on model is not persistent anymore - 9248 – RowReorder
showGrip
interferes with rendering of group headers - 9253 – Accessibility Editing not started when pressing
Enter
on cells in aPercentColumn
- 9254 – First added tab to a
TabPanel
does not initially get the b-active rendition - 9257 – Accessibility
aria-readonly
attribute should be set on readOnly row cells - 9263 – Unable to use "is one of" operator in Grid
filter
feature when usingAjaxStore
andfilterParam
- 9273 – Tree Grouping support for rounding values when tree-grouping
NumberColumn
- 9343 – HIGH PRIO Crash on restoring grid state when a column has
autoWidth
configured - 9362 – Summary row disappears after moving column with empty data store
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.11
2024-05-21FEATURES / ENHANCEMENTS
- A new static boolean property,
Widget.accessibility
was added, which, when set totrue
causes tooltips to be activated onfocus
in addition tomouseover
(5539) - Vanilla JavaScript documentation has a new section on Multiple Products, showing how to use multiple components in a single page using
thin
components (8756) - You can now configure
enableRecurringEvents
with adefaultAction
parameter, to always choose a predefined action,single
to always only process the selected event, orfuture
to change all future events (7606) AjaxStore
has a new config calledincludeChildrenInRemoveRequest
, that controls if a remove request includes the id of a removed parent and all its children, or just the id of the removed parent (8099)- Column now supports configuring its
ariaLabel
andcellAriaLabel
DOM attributes
API CHANGES
- Added HTML encoding strings displayed by various widgets such as
FilePicker
tooltip,Slider
,Tooltip
and others. - You can now prevent a
SubGrid
from being fully expanded by providing amaxWidth
to it in thesubGridConfigs
object. This will also automatically hide the expand button inside the Grid splitter (8775) - After a docs regression, several APIs flagged to be hidden in subclasses were still visible in the docs. These APIs are now correctly hidden (9140)
BUG FIXES
- 8148 – HIGH PRIO State is not saving in grouped column headers when reordering child to another group
- 8319 – HIGH PRIO Grouping rows should not have Stripe color
- 9011 – VUE-3 Filter field is not editable once filtered when data is loaded using
AjaxStore.readUrl
- 9050 – Menu detached from submenu after hiding column
- 9057 – DOCS
FieldFilterPicker
docs inline example doesn’t apply filter at initial startup - 9064 – VULNERABILITY Fixed a bug regarding menu item texts not being HTML-encoded
- 9075 – Error when hiding/showing a combo type column filter
- 9091 – Grid Column ignores field’s set value when field is localized
- 9106 – Autocomplete icon in
FilterBar
in Safari - 9109 – Nbr items empty in master-detail demo
- 9126 –
headerRenderer
is not taken into account while exporting data into Excel file - 9137 – Popup focus should go to descendant widget instead of maximizable
- 9146 – HIGH PRIO Incorrectly generated snippets for
on-owner
events - 9160 –
hasChanges
should always return a boolean value - 9170 –
clearChildren
does not convert parent to leaf whenconvertEmptyParentToLeaf
is enabled - 9172 – Crash when pressing
F3
with QuickFind enabled - 9197 – Crash when using
TreeGroup
with hidden column - 9199 – Nested grid demo crashes when grouped
- 9210 –
TreeGroup
node toggle fails when a group field is an array
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.10
2024-04-24FEATURES / ENHANCEMENTS
CalendarPanel
(and its subclassDatePicker
) may now be configured with anonWorkingDays
object, which is separate from weekend days while weekend days continue to exist in their fixed position (8914)Store
has a newhasChanges
property, it is cheaper thanchanges
to use if you only need to know if there are changes or notAjaxStore
has a newparamsInBody
config that allows sending parameters in the request body instead of the URL query string (4058)- Model (=records) has a new
getUnmodified()
function that returns the unmodified value of a field (9029)
BUG FIXES
- 7860 – Allow specifying custom default operator by data type for Grid filter feature
- 8725 – HIGH PRIO
TreeGroup
ID collision when multiple groups are applied and column with array data is at the top - 8751 – HIGH PRIO Not possible to increase the width of the last column
- 8896 – DOCS Beef up docs about not supporting non-standard operators
- 8910 –
filterFn
does not work withonChange
inFilterField
config - 8926 – DEMO Crash when dragging equipment using touch gesture
- 8947 – Empty
treegrid
demo - 8959 – Floating widget doesn’t realign if target transitions
- 8965 – HIGH PRIO Toolbar overflow synced excessively
- 8984 – Filtering crashes when combo widget column has a value
- 8992 – ANGULAR implement support of
ViewEncapsulation.ShadowDom
- 8993 – The anchor gap between an aligned, anchored widget and its target allows a mouseout to be fired
- 9035 – Crash when pressing Cancel button in Excel import demo
FRAMEWORK SUPPORT
- NodeJS:
>= 14.0.0
- TypeScript:
>= 3.6.0
- Angular:
>= 9.0.0
- React:
>= 16.0.0
- Vue:
>= 2.0.0
- Ionic:
>= 5.0.0
- Vite:
>= 4.0.0
- Webpack:
>= 4.0.0
Version 5.6.9
2024-04-09FEATURES / ENHANCEMENTS
- The
MergeCells
feature has a newshouldMerge
hook that can be implemented in an app to control which cells should be included in a detected range (8724) - Records that relates to other records with the use of the
Model
class’s staticrelations
config can now propagate their changes to the related records stores. This is useful if you have multiple widgets that you want to refresh when a related record changes. For example, showing row details in a nested grid using theRowExpander
. See this in action in theNested grids
demo. The new behaviour is opt-in, you need to set the newpropagateRecordChanges
property on theRelationConfig
object (8671) - The
FillHandle
feature will now draw the fill handle in the bottom right corner even when the cell selection ends on the last column (8826)
LOCALE UPDATES
- Added Brazilian Portuguese translation (
'PtBr'
) (8747)
DEMOS
- VUE-3-VITE New "Summary" demo (Vue 3 + Vite) shows the Summary feature. The demo is located in
frameworks/vue-3-vite/summary
folder (8385) - ANGULAR New "Summary" demo (Angular) shows the Summary feature. The demo is located in
frameworks/angular/summary
folder (8386) - REACT-VITE New "Paged grid with mocked Ajax" demo (React + Vite) shows that the grid can access large data sets page by page. Uses remote sorting and filtering with mocked Ajax. The demo is located in
frameworks/react-vite/paged
folder (8662) - VUE-3-VITE New "Paged grid with mocked Ajax" demo (Vue 3 + Vite) shows that the grid can access large data sets page by page. Uses remote sorting and filtering with mocked Ajax. The demo is located in
frameworks/vue-3-vite/paged
folder (8663) - ANGULAR New "Paged grid with mocked Ajax" demo (Angular) shows that the grid can access large data sets page by page. Uses remote sorting and filtering with mocked Ajax. The demo is located in
frameworks/angular/paged
folder (8664) - VUE-3-VITE New "Scaling" demo (Vue 3 + Vite) shows how setting the font-size affects the size of the grid and widgets. Made possible since grid is styled using ’em’ for sizes. The demo is located in
frameworks/vue-3-vite/scaling
folder (8413) - ANGULAR New "Scaling" demo (Angular) shows how setting the font-size affects the size of the grid and widgets. Made possible since grid is styled using ’em’ for sizes. The demo is located in
frameworks/angular/scaling
folder (8414)
BUG FIXES
- 6646 – State of columns is not restored for columns w/o ids
- 7267 – Request for improved API for custom cell editors
- 7662 – Resizing a solitary
flex
Column withmaxWidth
does not work - 8519 – HIGH PRIO VUE 3 Repeated cell content on grid scrolling with Vue renderers 8519
- 8652 – LWC Selection breaks when click outside Grid
- 8672 – TypeScript Bbar and Tbar type error
- 8700 – Cannot set value manually for widget column fields
- 8748 – Cannot disable or hide file picker badge (now doable with
showBadge
config) - 8759 – TOUCH Pressing enter in cell editor does not move editor to the next cell
- 8761 – Popup positioning incorrect when maximized with
centered
andmaximizable
- 8791 – Nested grid should have exposed relation property on its records
- 8807 –
dragSelect
does not work in Salesforce - 8808 –
Model.clearChanges()
doesn’t update the UI - 8815 –
DateTimeField
editor onColumn
throws an error on start editing - 8821 – Grid columns not scrolling into view when using keyboard navigation on column header
- 8823 – HIGH PRIO The
RowNumberColumn
documentation does not display the description of configs - 8824 – DOCS Class disappears after hiding public members
- 8840 – List "Select all" text not localized dynamically
- 8846 – HIGH PRIO Vue-3 Crash when filtering in column header with config
vue: true
on column - 8856 – Action
OnClick
not working when using svg + path - 8867 – The
rowexpander-regions
demo shows linked records generated ids - 8875 –
DateHelper
startOf
week method does not return correct output for Sunday - 8880 – Modal masks for multiple popups are not working
- 8912 –
isPaged
property on AjaxStore should be boolean - 8946 – Broken layout in Tree Grid Demo in Vue3 + Vite
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-04FEATURES / ENHANCEMENTS
- The
List
class now has atitle
property, which shows a title above the first item (8714) - The
Print
feature now prints background colors without users having to check the "Background graphics" option in the print dialog (8716)
BUG FIXES
- 7297 – Not navigable to next month if selected date is next month
- 8547 – TypeScript Improve constructor declarations
- 8628 – HIGH PRIO Renderer of
CheckColumn
subclass does not havewidgets
param - 8648 – HIGH PRIO Pressing delete in
GroupBar
causes crash - 8694 –
DatePicker
should always navigate to the month of the selected date - 8697 – Vertical misalignment of filter field check box
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
- New
expandToLevel
method forTree
to expand the tree to an arbitrary depth (8390) - A warning message is now shown when
autoHeight
is enabled for Grid with 200+ rows (8068) - The
scrollIntoView
option in the grid selection API now accepts aBryntumScrollOptions
object to describe how to scroll. To the start or end, animated or snap etc. (8631)
API CHANGES
- The
StateTrackingManager
(STM) will by default (ifautoRecord
istrue
) merge update actions on the same record (in same transaction), keeping the oldest, and the newest values. A transaction will almost always only contain one update action per record. If the previous behaviour is desired, you can configure theStateTrackingManager
withautoRecordMergeUpdateActions
set tofalse
. If you’re not usingautoRecord
, then the transaction action can be merged by calling theStateTrackingManager
‘s newmergeTransactionUpdateActions
function before the end of the transaction
BUG FIXES
- 6148 – Row reorder should not trigger when dragging sideways
- 7183 – Unexpected expansion of nodes when using search highlighting feature
- 8223 – HIGH PRIO Group header should stay in the left most grid region
- 8225 – HIGH PRIO
isExport
param is missing in Action column renderer params while exporting - 8375 – Make pinch -> CTRL / mousewheel opt outable
- 8381 – Panel loses height immediately when collapsing code editor
- 8393 – HIGH PRIO Incorrect indentation for tasks with no children placed after a task with children in name
- 8395 – TYPESCRIPT
DurationUnitDataField
is missing from typings - 8399 – TYPESCRIPT DOCS Add a type of
column
config toDataField
- 8423 – HIGH PRIO LWC Engine performance is too low with LWS enabled
- 8429 – HIGH PRIO
CellMenu
acts on wrong row when usingselectOnKeyboardNavigation: false
- 8460 – Cannot read properties of null (reading ‘constrainTo’)
- 8465 – HIGH PRIO Printing letter in landscape mode does not fit page
- 8484 – Two widget columns with same widget type acts wrong on column hide/show
- 8490 – Filter menu misaligns on selecting a value from Filter combo
- 8495 – Removing a record while in TreeGrouped state does not remove it from the original store
- 8512 – Dynamic column configuration / reactive data
- 8520 – Grouping not refreshing when using tree grouping
- 8539 – Crash when toggling full screen
- 8541 – Checkbox column rendered incorrectly after removing filter
- 8551 – HIGH PRIO Column reorder by drag and drop issues when children columns defined
- 8552 – HIGH PRIO LWC
tooltipRenderer
cut custom tags in LWS - 8553 – DOCS Combo
record
prop wrong docs - 8557 – DOCS Event handlers are not searchable in docs
- 8584 – It is possible to hide all columns with no chance to show them
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
- Subgrids now support animated expansion and collapse with
regionResize: { animateCollapseExpand: true }
(4183) - Grid now saves the collapsed state of groups in its default state saving mechanism (8103)
- Docs browser now shows code snippets for all events in the Events section (8213)
- Bumped built-in FontAwesome Free to version
6.5.1
- All frameworks demo applications have been verified and updated to be compatible with Node.js 20
- Grid
emptyText
now accepts aDomConfig
object block (8253) - New
syncSort
option for chained stores, to always keep chained store data in the same order as the master store (8286) - Grid now fires
rowMouseEnter
,rowMouseLeave
,cellMouseEnter
, andcellMouseLeave
events (7282) - All context menu features which extend
ContextMenuBase
now include s reference to that feature in theirmenuContext
object which is passed toprocessItems
and event handlers
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.
DEMOS
- ANGULAR New "Filtering" demo (Angular) shows how the grid can be filtered (by filtering its store which reflects onto the grid). The demo is located in
frameworks/angular/filtering
folder (8109) - VUE-3-VITE New "Filtering" demo (Vue 3 + Vite) shows how the grid can be filtered (by filtering its store which reflects onto the grid). The demo is located in
frameworks/vue-3-vite/filtering
folder (8110)
BUG FIXES
- 3627 –
Splitter
issues on touch devices - 6675 – Keyboard shortcut not triggering Collapse / Expand when tree column outputs a link
- 7469 – Wrong value of
expanded
when calling storetoJSON
method - 7798 – HIGH PRIO REACT State Provider is not working
- 7836 – TYPESCRIPT Missing layout classes and config types
- 7847 – Undo not updating node to right position
- 8062 – Widget column’s menu is not opening consistently for some column
- 8170 – Strange background color when selecting multiple rows
- 8198 –
DurationField
does not show error tooltip when inputting invalid data - 8200 – Webpack build failed with
.min.css
file - 8227 – Should not set region when column is moved inside a parent column
- 8229 – HIGH PRIO VUE Auto-size column doesn’t work for Vue renderer
- 8230 – Cell and header menu demo returns valid message when clicked
- 8239 –
ContextMenus
aligned below click point instead of to the side - 8245 – HIGH PRIO
ENTER
key not working inside Fiddles in docs - 8249 – Group menu position issue
- 8266 –
namedItems
improvements and addonAction
for menu items - 8269 – HIGH PRIO Issue with appending child to a collapsed parent in a filtered tree store
- 8281 – Updated task not appearing when it now matches filter after adding dependency
- 8298 – HIGH PRIO
Filter
feature is not working for nested columns - 8303 – Grid cell menu with string
namedItems
not working - 8311 –
validateOnInput
config not being respected when usingDateField
- 8321 – HIGH PRIO
TreeGrid
node duplication on collapse/expand in Docs - 8362 – Menu is always displayed in the top left corner
- 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-09FEATURES / ENHANCEMENTS
- It is now possible to show the
CellMenu
programmatically, via the newshowMenuFor
method. See the docs and updatedcontextmenu
demo for more information (4827)
API CHANGES
- TypeScript
element
parameter forElementListenerConfig
typedef andEventHelper.addListener
method has been changed toEventTarget
type (8139) Point.from()
method will return a point relative to the page coordinates instead of screen coordinates as ofv6.0
DEMOS
- ANGULAR New Master detail demo (Angular) shows a multi-level grid-in-grid scenario for master/detail view, powered by the
RowExpander
feature. The demo is located inframeworks/angular/master-detail
folder (8108) - REACT + VITE New Master detail demo (React + Vite) shows a multi-level grid-in-grid scenario for master/detail view, powered by the
RowExpander
feature. The demo is located inframeworks/react-vite/master-detail
folder (8107) - VUE 3 + VITE New Master detail demo (Vue 3 + Vite) shows a multi-level grid-in-grid scenario for master/detail view, powered by the
RowExpander
feature. The demo is located inframeworks/react-vite/master-detail
folder
BUG FIXES
- 2159 –
ActionColumn
actionsrenderer
andtooltip
fails when specified as functions and record argument is used - 4009 – Store
allRecords
getter does not return all records when filtered and grouped - 7403 – Make a guide on how to make a theme selector in frameworks
- 7964 – REACT JSX doesn’t work in Popups
- 8012 –
ActionColumn
‘sonClick
handler should have link in owner Grid instance in its params - 8116 – Disabled checkboxes can be selected with keyboard shortcut
- 8123 –
WidgetColumn
leaks widgets and recreates new ones on column hide/show - 8129 –
KeyMap
should pass event and owningWidget
to handlers - 8130 – Grid is missing a
headerClick
event - 8146 – Error when set percentage width in column
- 8147 – Tree toggles nodes on
pointerup
instead ofclick
- 8154 – Firefox Vertical scrolling in docs tree not working with trackpad
- 8165 – Row selection not updated during
ScrollManager
auto scroll - 8175 – Error on tab press after clicking column header with
FilterBar
feature - 8179 –
ascending
config not working inGroup
feature - 8191 –
PickerField
withautoExpand : true
does not show picker when clicking trigger icon
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-21API CHANGES
- DEPRECATED The
DomHelper.focusWithoutScrolling
method is deprecated because the native focus method now supports thepreventScroll
option on all platforms.
DEMOS
- ANGULAR Added new "Tree Grid" Angular demo which is located in the "examples/frameworks/angular/tree" folder
- REACT + VITE Added new "Tree Grid" React + Vite demo which is located in the "examples/frameworks/react-vite/tree" folder
- VUE 3 + VITE Added new "Tree Grid" Vue 3 + Vite demo which is located in the "examples/frameworks/vue-3-vite/tree" folder
BUG FIXES
- 6224 – Add event for ColumnResize to catch user resize action
- 7884 –
pdfExport.exportDialog.bbar
buttons config doesn’t propagate - 7919 – Improve
CellEdit
validation docs - 8028 – Store
min/max
functions returning inconsistent values - 8040 – Gantt doesn’t immediately display remotely appended rows when using
{ overscroll : true }
- 8047 – Animated tree node collapse causes crash in docs
- 8072 – DOCS Update documentation of
beforeClose
event return fromPopup
- 8081 – Missing
TreeGrid
component in Angular / React / Vue packages - 8085 – LWC does not support W3C standard
HTMLElement.replaceChildren
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
- The
Toast
class has aside
config which may be specified as'top'
to show the toast at the top of the screen (7910) FillHandle
feature now fires a number of useful events while dragging which allows you to cancel the start, or the finalization of the flow. SeeFillHandle
feature documentation for more information (7932)FillHandle
feature now also operates on leaf nodes inAggregationColumn
- VUE-3-VITE New "Master detail" demo (VUE 3 + Vite) shows a multi-level grid-in-grid scenario for master/detail view, powered by the
RowExpander
feature. The demo is located inframeworks/vue-3-vite/master-detail
folder (7781) - REACT Documentation in "Quick start" and "Guide" 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-grid
,@bryntum/cra-template-javascript-grid
packages will not get any updates after6.0.0
version
BUG FIXES
- 1334 – Should be possible to delete a chip with backspace key
- 1335 – Typed text not removed after selecting value in multiselect combo
- 1966 – DOCS Copying code to the
FiddlePanel
code element in docs does not remove formatting - 7681 – LWC Defects of floating widgets in a Bryntum Grid inside a lightning-modal
- 7888 – Dock
start/end
in footer configuration crashes the app - 7912 – Reloading tree store data throws exception in Grid
- 7918 – Multi value grouping cannot use field path name into a
StoreDataField
- 7923 –
AjaxStore
commit requests not always sent - 7942 – Separator for combo box not working
- 7969 – Headers and cells misaligned when using
showGrip
- 7976 – Content lost if setting
showDirty
while scrolled down - 7977 – Should not enable cell replication for non-editable columns / cells
- 7982 – Widen splitter in all relevant splits on hover
- 7997 – The documentation of
NumberFormat
is wrong - 7999 – Animated tree expands rows inserted at wrong index
- 8023 – Salesforce Toast doesn’t shown in Salesforce app
- 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
- New
rowLines
config added to toggle display of row lines in theGrid
- Added support for wrapping time when reaching min/max using steppers in the time picker (7580)
- REACT Docs and demos for custom column editors updated to show how to handle async
setState()
calls, to avoid loosing column editor values
BUG FIXES
- 7092 – Feature mixin on-owner events are not exposed on class
- 7887 –
RowExpander
with widget doesn’t work with Vite non-link CSS imports - 7894 – Grid
CellMenu
does not show when clicking top border of a row - 8213 –
NumberFormatConfig
typescript class is missing several configs due to docs issue inNumberFormat
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
- REACT New Cell Edit demo (React + Vite) showing how to use various grid cell editors. The demo is located in
frameworks/react-vite/cell-edit
folder - REACT New Scaling demo (React + Vite) shows how setting the font-size affects the size of the grid and widgets. Made possible since grid is styled using ’em’ for sizes. The demo is located in
frameworks/react-vite/scaling
folder - Added support for filtering
TimeColumn
s (7692) - Added option to maintain scroll position during remote changes when the viewport is near the end of the scrollable range. Configure grid with
preserveScroll : { overscroll : true }
to opt-in to the new behavior (7759) - Added support to programmatically refresh a Grid column header via the new
refreshHeader
andrefreshHeaders
methods (7843)
LOCALE UPDATES
- There is a new locale key
selectATime : 'Select time'
which may be used byFieldFilterPicker
‘s time input
BUG FIXES
- 4911 –
parentIndex
is ignored with enabledtransformFlatData
- 5719 – YARN Can not install
@bryntum
product packages using yarn v2/v3 - 7459 – Made
pageSize
a property - 7471 – Overriding feature’s keyMap from Widget doesn’t work
- 7703 –
NumberField
limits typed input tominimumFractionDigits
notmaximumFractionDigits
- 7733 – Event
cellMouseOut
emits only once - 7750 – Vite error
@charset must precede all other statements
- 7752 – Print code throws trying to access stylesheet internals
- 7754 – Frameworks Thin packages not working with
pnpm
- 7783 – Detached expanded row body when sorting with
spanRegions
- 7791 – Salesforce
RowExpander
throws error when collapse the record - 7802 – Collapsible columns not opening
- 7810 – Undo/redo with outdent error
- 7817 –
Checkbox
column remains groupable even when specifically set tofalse
- 7820 –
globalThis
should be defined in locales to support LWC - 7833 – Select all checkbox not functional when all grid groups are collapsed
- 7834 – Error in
TreeGroup
with filters - 7853 – Data unavailable when
resourceStore
groups in collapsed state
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 - Grouping may now group by an array field, which means that one record can be a member of more than one group. Linked records are used when a record must appear more than once in a store (5185)
- The
RowExpander
feature now supports configuring different widget content for different regions (7035) - New
RowResize
feature allowing user to drag bottom row border to change row height (2843) @bryntum/grid-thin
bundle includes scss theme files insass/themes
folder (7445)- The
List
widget now supports collapse / expand of groups (7405) - Added
preserveScroll
config to Grid, preventing vertical viewport movement during remote changes (7353) - TypeScript Functions and events declarations in typings were improved to contain all available parameters and return type (6961, 4456)
ExcelExport
feature now supports exporting to CSV file (5612)- Added a
Print
feature based onPdfExport
feature which allows using browser print dialog and not rely on backend (6218) - The
RowExpander
feature has been improved with support for a single expanded element or widget that span over several Grid regions (7314) - Grid has a new config
animateTreeNodeToggle
. When set totrue
, expanding and collapsing of tree nodes is animated - Infer field types for
auto
fields when usingFieldFilterPicker
with store data present (7691)
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 values
API of theExportDialog
class is reverted to the default implementation inContainer
. If you have customized dialog fields you need to review your configuration. See upgrade guide for more details (5907)isMulti
is now the default mode for the Grid Filter plugin. To configure the filter pickers inside the column filter editor popup, provide aGridFieldFilterPickerGroup
configuration using the Filter feature’spickerConfig
config option. ConfigurelegacyMode : true
to use the previous UI instead (6685)- DEPRECATED The Filter feature context menu items
disableFilter
,removeFilter
, andeditFilter
will be renamedfilterDisable
,filterRemove
, andfilterEdit
, respectively, in6.0.0
If you are customizing theCellMenu
to hide or replace any of these menu items, you will need to change their names accordingly - Grid summary cells are now layed out using CSS
grid
layout instead of using a<table>
. If custom renderers are used which rely on table layout, these will need updating
LOCALE UPDATES
- There is a new locale key
selectValue : 'Select value'
which is used by theFieldFilterPicker
when creating filters on relation-type fields - There is a new locale key for the
Object
class.'None'
is used to label group header rows which are for child records who’s group field value is an empty array
BUG FIXES
- 7493 – Multi group demo hangs when editing Skills
- 7494 – Grouping indicator not shown when grouped by Skills
- 7502 – Row resizing breaks row reordering
- 7503 – Non-filterable column has a Filter option in its context menu
- 7504 – Multi-group demo hints not showing in Firefox
- 7515 –
RowExpander
refreshOnRecordChange
creates duplicate instances of widgets - 7527 – Summary row obscures docked scrollbar
- 7546 –
RowExpander
getExpandedRecord
crashes when called from expanded widget paint listener - 7638 – Added
hidden
property tofilterBar
feature in docs - 7646 – Facet filters do not apply on iOS
- 7648 – Export to CSV: blank space after each comma
- 7649 – Collapsing/Expanding rapidly a tree cell throws error
- 7654 – Records with no skills disappear in multi-grouping demo
- 7656 – Field filters grid example doesn’t render on iOS
- 7675 – Use polyfill for
ResizeObserver
inRowExpander
for SalesForce non LWS support - 7689 – Moving columns in a multi region grid with a state provider is broken
- 7695 – Print feature not printing correctly when changing the splitter position
- 7697 – Add
filter
in config for filterBar feature - 7724 – Slider styling is wrong when placed on a Toolbar in Classic light theme
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-23BUG FIXES
- 279 –
ObjectHelper.isEqual
fails if compared object has cyclic links - 2024 – Slider tooltip should be configurable
- 7250 – Merge Cells feature has CSS bugs when resizing merged columns in
rtl
- 7415 – transformFlatData loses tasks if child sorted before parent
- 7588 – Add
"aria-pressed"
only for toggle button and not all buttons - 7611 – The
rowCopyPaste
feature doesn’t work with collapsed nodes - 7620 – Headers and cells are misaligned in row reorder demo
- 7638 – Added
hidden
property tofilterBar
feature in docs - 7641 – Bryntum Combo and Tag Combo empty text appearing
null
- 7651 –
showDirty
indicator jumps to wrong cell during edit - 7653 – Grid goes blank when scrolling to top record
- 7657 – Event
cellMouseOver
emits only once - 7676 – Store should have changes if record’s
StoreDataField
has number type changes - 7690 – Salesforce Error when open Grid in Firefox if LWS enabled
- 7694 –
FilterBar
removes typed text
Version 5.5.4
2023-10-05FEATURES / ENHANCEMENTS
- Added
preserveScroll
config to Grid, preventing vertical viewport movement during remote changes (7353) FilterBar
feature now can keep a column filter when the column is hidden, via the newclearStoreFiltersOnHide
config (7568)
BUG FIXES
- 7374 – Split feature doesn’t work in REACT
- 7472 –
TreeGrid
withtransformFlatData
and customidField
no longer works - 7518 – Scroll breaks if data filtered with
preserveScrollOnDatasetChange
enabled - 7534 – Combo value not updated in the input is some cases
- 7547 –
RowReorder
feature not working inside nested grid - 7554 – Missing field type in custom
GridRowModel
inlockedcolumnstree
example - 7560 – Pressing
ENTER
key on Cancel button inMessageDialog
triggers OK click - 7572 – SalesForce
Combobox
stops working after clicked clear in column filter - 7581 – Undo does not work when reparenting to the top of the tree grid
- 7584 – Editing a related column does not refresh the UI
- 7593 – Selection checkbox stays checked if
beforeSelectionChange
returnsfalse
Version 5.5.3
2023-09-15FEATURES / ENHANCEMENTS
- The
RegionResize
feature now allows hiding splitter expand/collapse buttons by using the newshowSplitterButtons
property (6770) - REACT New Facet Filtering demo (React + Vite) shows a filter panel that can filter to specific data values. The demo is located in
frameworks/react-vite/facet-filter
folder - REACT New Filtering demo (React + Vite) shows how the grid can be filtered (by filtering its store which reflects onto the grid). The demo is located in
frameworks/react-vite/filtering
folder - REACT New Summary demo (React + Vite) shows how to sum up selected rows. The demo is located in
frameworks/react-vite/summary
folder
BUG FIXES
- 7031 – Removing columns corrupts the events rendering
- 7076 – Scheduler zoomIn/zoomOut doesn’t keep center well
- 7368 –
CellEdit
‘s editor’s beforeCancel event returningfalse
is ignored - 7394 –
RowExpander
crash when filtering pagedAjaxStore
withsyncDataOnLoad
- 7396 –
TreeGroup
bug with cell updates when custom renderer used - 7402 – Setting
'->'
in toolbar giving error - 7407 – Hiding a dynamically added column when splitting horizontally causes crash
- 7468 –
allowedFieldNames
not working withstore.fields
Version 5.5.2
2023-08-30BUG FIXES
Version 5.5.1
2023-08-16FEATURES / ENHANCEMENTS
RegionResize
splitter dragging can now be disabled by configuring the feature´senableDragging
config tofalse
(7271)
API CHANGES
- The 3rd argument of the
Field
‘ssetError
method made public, it marks error as "temporary" and it will be removed upon the next user interaction (5178).
BUG FIXES
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
- VUE-3 New demo showing basic Vue 3 + Vite 4 setup. Demo is located in
examples/frameworks/vue-3-vite/basic
folder
BUG FIXES
Version 5.4.2
2023-07-26FEATURES / ENHANCEMENTS
- The function of
Column.finalizeCellEdit
config can now return an arbitrary string to indicate an error message of the failed validation (6845) - The
Split
feature now relays listeners to all splits, and it also relays a (configurable) subset of the grid’s configs at runtime (7200, 7201)
BUG FIXES
- 6866 – Not possible to switch am/pm in time picker in mobile Safari
- 6939 – Merge Cells feature has CSS bugs when resizing merged columns
- 6985 – Applying a default/initial filter to resources in tree group doesn’t clear afterwards
- 6998 – LWC Column reorder does not work when state provider is used
- 7170 – Toggling features while split does not reflect on other splits
- 7202 – Column mistakenly added to vertical split
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
- Added facet filtering demo showing how to filter by specific data values. Demo is located in
examples/facet-filter
folder - Grid now fires
splitterDragStart
andsplitterDragEnd
events when resizing aSubGrid
using the splitter (7121)
BUG FIXES
- 6077 – TypeScript
Model
constructors should allow second param - 6987 – REACT React component is not rendered correctly on expand / collapse
- 7103 –
SlideToggle
in grid should animate when toggled manually - 7115 –
TreeCombo
triggers an error when passing empty default value array - 7128 – Group icon not showing when sorting is disabled
- 7134 – Select all is not working when the grid contains group summaries
- 7139 – Reordering to the selected row crashes
- 7142 – Non existing import path within
GroupBar
scss file
Version 5.4.0
2023-06-30FEATURES / ENHANCEMENTS
- The
RowCopyPaste
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 row between multiple instances of Grid or Grid-based components. It is also possible to copy a row and paste it inside a Spreadsheet app like Excel - Two new widgets for editing colors has been added in this release. Firstly, there is the
ColorPicker
, which lets the user select from a range of pre-defined colors. It is not built for stand-alone usage, but meant to be used in aMenu
or as a picker for aPickerField
. There is also theColorField
which can be used as a normal form field to display and edit a color value. It uses theColorPicker
as its color picker (2939) - A new column,
ColorColumn
, has also been added. It renders a colored element which the user can click and select a new color from theColorPicker's
pre-defined range of colors - The
RowExpander
now supports rendering widgets inside the expanded row. This makes it possible to expand a row and show more details in a nested grid. Two new demos has been added to demonstrate this –Master-detail
andNested grids
(3591) - Columns can now display data in related records (defined using the relation system) using a
.
in the field name, for exampleteam.name
(6639) - On a similar note, columns can now also display (and allow editing of) nested data using a
.
in the field name, for exampleaddress.city
when givenrecord.data = { address : { city : 'Stockholm' } }
. Define the top level field (address
) on your Model withtype: 'object'
to wire it up correctly 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 - Grid has a new
Split
feature, that allows splitting the grid into multiple parts (horizontally, vertically or both ways). Try it out in the newsplit
demo (3917) - The
MergeCells
feature now supports merging cells in any column, not only sorted columns. Opt in to the new behavior by configuring the feature withsortedOnly: false
(5012, 6429) - 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 - Updated
columntypes
demo to show how to use a SlideToggle widget in a WidgetColumn (2256) - Button now adds a
type
attribute specified by the Button´sbehaviorType
value (defaults tobutton
). See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button for more info (7032)
API CHANGES
- The
RowCopyPaste
feature’scopyRows
andpasteRows
has been made asynchronous due to the enhancements mentioned above - The
RowCopyPaste
feature’sbeforeCopy
andbeforePaste
events are now asynchronously preventable - The
CellCopyPaste
feature’sbeforeCopy
andbeforePaste
events are now asynchronously preventable - The underlying store created when using
StoreDataField
now defaults to usingsyncDataOnLoad : true
. You can use the newstore
config to supply a custom configuration object used when creating the store
BUG FIXES
- 5943 – Undo/redo does not catch cut-pasting row
- 6884 – Detail row becomes empty after several sorting operations on the main column
- 6946 – Missing gap between filter fields
- 6947 – Grid split example issue
- 6955 – Grid localization example does not render on iPad Safari
- 6958 – Scheduler split demo throws an exception
- 7014 –
Checkbox
cell is not accessible with keyboard - 7062 – Adding a column to a split Grid not reflected in splits
- 7080 – "No color" looks like white color and checkmark not updating
- 7081 – Child widgets with
autoHeight
stops collapse animation
Version 5.3.8
2023-06-28API CHANGES
- A new config has been added to the
RowExpander
feature that re-activates the previous behaviour of scrolling the expanding row into view. The config is calledautoScroll
and defaults tofalse
(7027) - Grid now supports toggling
hideHeaders
andhideFooters
during runtime to control visibility of header / footer - Grid now supports configuring away its horizontal scrollbar using its new
hideHorizontalScrollbar
config
BUG FIXES
- 2002 – Sorters/filters are not refreshed up after changing store
- 5427 –
parentId
appears as a modification after undoing a delete - 5507 – Undo action with STM not keeping the actions after deleting a node
- 6694 –
beforeColumnDropFinalize
event lacks information on where column is being placed - 6924 –
exportProgressMask
does not change value on PDF Export - 6962 – Demos use deprecated
sum
Boolean parameter in columns config - 7021 –
ViewPresetCombo
not showing name from custom presets base - 7039 – Crash when filtering and hide/show columns
- 7048 – YY year format shows only single digit
- 7054 – Possible to resize a region with
regionResize
disabled - 7055 – Grid Column Header align
right !== end
in material theme - 7060 – PERFORMANCE Prevent partnering header which is hidden
- 7070 – Filtering demo describes filterable example function incorrectly
- 7071 –
columnDrag
event payload insertBefore property is incorrect
Version 5.3.7
2023-06-20FEATURES / ENHANCEMENTS
- A new config for the
Sort
feature,toggleOnHeaderClick
makes it possible to specify that sorting should only occurs when clicking on the icon (6827) - MenuItem
item
event now includes adomEvent
param (6863)
BUG FIXES
- 5436 – Undo does not work when deleting selected children and parent
- 5494 – Collapsed/expanded state bug when using undo/redo on tree grid
- 5927 – Error when scrolling and then switching to collapsed tree structure
- 6673 – Bug when undoing a cut operation
- 6788 – Irregular behaviour with last locked column and hidden locked columns
- 6844 – Filter field not updated when replacing column with same
id
- 6877 – LWC Cannot read properties of undefined (reading ‘host’)
- 6896 – Tree Grid search highlighting throws an error in lazy loaded implementation
- 6907 – Cell navigation with keyboard ignores visible column order
- 6912 – REACT Custom column editor lose value in React 18
- 6954 – Merged cell value is not displayed in classic-dark nor material theme
- 6969 – Grid
TreeColumn
text should be truncated when a column is too small - 6976 – Not possible to control group row height when combined with
GroupSummary
feature - 6996 –
CellCopyPaste
feature docs are misleading - 7010 – Zoom level state not restored when timeline is collapsed
- 7025 –
Combo
should handle being destroyed in item/select/change listeners - 7028 – Incorrect examples for
fields
config inFieldFilterPicker
docs
Version 5.3.6
2023-05-26FEATURES / ENHANCEMENTS
- Grid now fires new
splitterExpandClick
andsplitterCollapseClick
events which lets you prevent the default behavior when clicking the collapse/expand icons inside the grid splitter (6677)
BUG FIXES
- 6409 – Group feature should restore groupers when re-enabling
- 6704 – Inconsistent work of
CheckColumn
whenselectAll
enabled - 6756 – LWC Grid does not render due to
scrollBarWidth
calculation - 6760 –
CellCopyPaste
feature paste is off by number of hidden columns - 6791 – Columns are not exported correctly if they exceed total grid row subgrid size
- 6799 – Grid throws when applying column state with non-existing region
- 6805 –
includeInSubset
creates duplicate records in the store - 6807 – Splitter cannot resize neighbor widgets in react apps
Version 5.3.5
2023-05-11FEATURES / ENHANCEMENTS
- Grid now fires a new
columnDrag
event which lets you mark a drop position as invalid (6634) - Column widths and hide/show state are synced between partnered schedulers with identical column sets (6682)
API CHANGES
- In a group header row, the expand/collapse icon is now a separate element rather than a pseudo-element of the header cell
BUG FIXES
- 6384 – Inconsistent tool order in header of inline collapsed panel
- 6495 – ReorderFeature –
gripOnly
doesn’t work when first column is a checkbox column - 6544 – Not possible to return a
DOMConfig
array in aTreeColumn
renderer - 6565 – Event trigger from widget button doesn’t go up to grid if bubbles enabled
- 6656 – Grouping
beforeToggleGroup
event should include the instigating UI event - 6672 – Drag proxy misrendered in row reordering in Safari
- 6701 – IONIC
Scrollbar
width could not be determined under Ionic framework - 6703 – Allow selecting text in row expander body
- 6715 – Grid cell unhovered when moving over inner element
Version 5.3.4
2023-04-28FEATURES / ENHANCEMENTS
- Store now has a
startGroupsCollapsed
property meaning that all groups begin collapsed. (6642)
API CHANGES
Checkbox
selection column is no longer hideable by the user by default (can be toggled in code by settinghideable
totrue
) (6650)
BUG FIXES
- 6267 – Persist expanded state when pasting tree nodes
- 6584 – Row select blinking on mobile after first select
- 6640 – LWC Context menu only opens once
- 6652 – Minified UMD bundle does not export
bryntum
namespace - 6653 – Unhandled mouse event exceptions in Salesforce on Safari
- 6657 – Drag proxy misrendered in row reordering
Older versions
- Full release version history can be found here.