Grid – Change Log
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
Version 5.3.3
2023-04-21FEATURES / ENHANCEMENTS
- The
CellEdit
feature'sautoEdit
functionality now triggers abeforeCellRangeDelete
event which by returningfalse
, can prevent the deletion on multiple cell values. When only deleting a single value, the already existingbeforeCellEditStart
event is used as before - ANGULAR Bryntum Grid now ships with two npm Angular wrapper packages to support different versions of Angular
framework. Existing
@bryntum/grid-angular
package is now designed to work with Angular 12 and newer versions, which use the IVY rendering engine. New@bryntum/grid-angular-view
package is designed to work with Angular 11 and older versions, which use the View Engine rendering. Check Upgrading and Angular integration guides in documentation for more information (#6270) - ANGULAR
angular-9
,angular-10
andangular-11
demos have been added to show use of@bryntum/grid-angular-view
package with Angular 9, 10 and 11. Demos are located in subfolders insideexamples/frameworks/angular/
folder - ANGULAR
angular-12
,angular-13
andangular-14
demos have been added for Angular 12, 13 and 14. Demos are located in subfolders insideexamples/frameworks/angular/
folder - ANGULAR
basic
demo has been upgraded to use Angular 15. Demo is localed in located inexamples/frameworks/angular/basic/
folder - ANGULAR legacy
angular-6
,angular-7
andangular-8
demos has been removed
API CHANGES
- Removed
skipRefresh
argument from Grid'stoggleCollapse()
function, since it was not working and there was no code to back it up - DEPRECATED Events triggered by the
RowReorder
feature have been deprecated and now instead trigger on the owning Grid instance (all other features follow this pattern). Old events fired by RowReorder will be removed in 6.0 (#6579)
BUG FIXES
- #5758 – Tree column
autoHeight
not working - #6166 –
createOnUnmatched
only creates new record onEnter
key press - #6483 – Grid header alignment Issue when using 3+ levels headers
- #6524 –
FillHandle
feature does not work in Salesforce - #6528 – TypeError
r.ion
is not a function - #6533 – Datasync issue on remotely filtered and paged Store with
syncDataOnLoad
- #6548 –
Backspace
key not working in cell editor withcombo
combo - #6549 – Grid header misalignment when material theme used
- #6620 – Dynamically created SubGrid's
xScroller
does not have a reference to the outerY
scroller
Version 5.3.2
2023-04-04FEATURES / ENHANCEMENTS
- Grid's
ColumnStore
now usessyncDataOnLoad : true
(and it is not intended to be changed by apps), which improves performance for state changes when binding to<bryntum-grid columns="">
in frameworks (Partial fix #6340) - The backends for the
php
andphp-paging
demos were updated to work with PHP 8
API CHANGES
- The docs for the Grid's
selectionChange
andbeforeSelectionChange
events mistakenly showed that thedeselected
,selected
andselection
params included records or cells, when they only included records. That have been fixed, and we also addeddeselectedCells
,selectedCells
andcellSelection
params to same events. - Context menu items for copying and pasting rows (from the
RowCopyPaste
feature) are no longer combined with menu items for copying and pasting cells (fromCellCopyPaste
). To show both cell & row copy items in the same menu, enable therowOptionsOnCellContextMenu
config.
BUG FIXES
- #6058 – Widget's
showAnimation
config not working properly - #6120 –
store.load()
doesn't work ifTreeGroup
feature used - #6321 – Built in
DateField
validation not working properly - #6357 – Double entries of copy/paste
- #6358 – Hard to select row in advanced demo
- #6360 –
selectedRecords
need to include records from selected cells - #6380 – Cannot drop into collapsed group if store is filtered
- #6392 – Tree Scheduler with initial filters on the resource store renders too early
- #6395 – Fixed angular production build of
StateProvider
helper classes - #6428 –
FullScreen.request
method should movefloatRoot
into thefullscreened
element - #6433 – Escape key not working in example filter field
- #6443 –
SubGrid
hiding does not work properly - #6447 – Filter feature column tooltips not working with array-valued relation filters
- #6478 – Grid Region still resizable when resizable is set to false
- #6484 – Invisible cells repainted with wrong data
- #6500 – Right click on Grid WebComponent throws an error
- #6507 –
dropOnLeaf
does not work properly on a scrolled page - #6509 – Column
readOnly
should prevent editing
Version 5.3.1
2023-03-17FEATURES / ENHANCEMENTS
- Tree store now applies filters/sorters to any new data when calling
applyChangeset()
(#6155)
API CHANGES
- Removed obsolete config
keepUncommittedChanges
for chained stores. It did not affect chained store behavior expanded
field was moved toModel
class fromGridRowModel
- Date parsing was made more forgiving in regard to character used to separate date parts. For example these strings are
now all acceptable as
HH:mm
:10:20
,10 20
,10-20
,10/20
(#6344)
BUG FIXES
- #5325 – Multi-level sort with custom sorting fn not working
- #6086 – Checkbox columns are always unchecked
- #6229 – Exception when reconfiguring store on a grouped and filtered view
- #6282 – Checkbox missing right margin
- #6286 – Horizontal scroll resets when scrolling back up
- #6301 – Grouping is broken after record remove is cancelled
- #6312 – Splitter does not move after updating to
5.3.0
- #6314 – VUE Columns prop has wrong type in
BryntumGrid
wrapper component - #6327 – Examples filter field clearing does not refresh example list
- #6328 –
'move'
eventoldParent
should passrootNode
when moving a node from therootNode
- #6331 – Prevent checkbox column to be scrolled out of view
- #6342 – Tooltip remains visible when moved by multiple rows across empty cells
- #6351 – Components do not render into containers not already in DOM
- #6355 –
StateProviderConfig
TypeScript missing listeners property - #6365 – VUE3 Tree Grid Demo is buggy
- #6370 – Task editor closes when changing active tab programmatically
- #6386 – Wrong sorting when grouped by custom
groupSortFn
Version 5.3.0
2023-03-02FEATURES / ENHANCEMENTS
- The CSS with predefined colors for
Button
,Checkbox
,Radio
,SlideToggle
&Toast
was changed to reduce file sizes (cuts away ~15% of the size of Grid's standalone CSS-bundles), while also making it easier for us to add more colors in the future - The Grid's selection functionality has been greatly improved as of this release. In addition to row and checkbox
selection it now also supports cell selection, column selection and
RowNumberColumn
selection. The ability to select by dragging the pointer has also been added. All the selection settings are now fully changeable at runtime. For full details of the new selection functionality, please check out or new selection demo (#497, #1915, #3123, #3334, #3970, #4628, #4932) - The new
FillHandle
feature brings spreadsheet like fill functionality to the Grid. When enabled, a Grid selection range will get a fill handle along with a fill border. This handle can then be dragged over new cells in any direction. The cells being dragged over will be filled with values calculated from the original selection - The
CellEdit
feature has been updated with support for editing multiple rows simultaneously. ThemultiEdit
config istrue
by default. Simply select multiple rows, edit the last one and then hit Ctrl+Enter to apply the new value to all selected rows - The new
CellCopyPaste
feature adds the ability to cut, copy and paste individual cell values or ranges of cell values - Keyboard focused column headers now has same focus indicator as cells (#4707)
- There is a new
store
field type (StoreDataField
) which can be used for fields on records that holds arrays. The array will be converted to a store, manipulating the store will flag the record as modified. On serialization the store will be converted back to an array - Selection in a Grid with a
TreeStore
has been improved by addition of theincludeParents
config. Set it toall
ortrue
to auto select a parent if all its children gets selected. If one gets deselected, the parent will also be deselected. Set it tosome
to select a parent if one of its children gets selected. The parent will be deselected if all its children gets deselected (#5726) - Localization demos updated to show up-to-date localization approach
AjaxHelper.fetch
now supports using request body to pass parameters for non-GET requests. Please checkaddQueryParamsToBody
argument in the method documentation (#2855)- New
TreeCombo
widget added - The model relation system, a data layer concept used internally to link a
ResourceTimeRange
to aResource
in Scheduler, was made public. It allows you to define one-to-many relations between models in arelations
block when subclassingModel
(#3222) - The
CellCopyPaste
feature can now repeat the copied pattern into a larger selection target. Copy one cell or a range of cells, then select a new range of cells and paste into that. If the selected range matches the copied pattern in size (n times bigger, must fit completely), all the selected cells will be filled with values (#6003) - Lots (but not all) of the not so informative
object
types in our TypeScript typings have been replaced with more specific types. Objects that in our JavaScript are used as maps are now declared asRecord<keyType, valueType>
, and for functions that accept object arguments many are replaced with anonymous type declarations, such as{ foo: string, bar: number }
(Partially fixed #5176)
API CHANGES
- DEPRECATED
LocaleManager.registerLocale
andLocaleManager.extendLocale
are deprecated.LocaleHelper.publishLocale
should be used instead. - DEPRECATED With the introduction of cell selection, Grid's
selectionMode
config no longer has therow
setting. Instead, it is the default mode and can be omitted. Specifyingcell : true
will enable cell selection and disable row selection – both cannot be used at the same time. - DEPRECATED The
rowCheckboxSelection
setting of Grid'sselectionMode
config was renamed tocheckboxOnly
, to better indicate its purpose. The old name is still supported, but will be removed in a future release - DEPRECATED The type of the
fields
config forGridFieldFilterPicker
andGridFieldFilterPickerGroup
widgets has changed from array ofFieldOption
s toObject
map ofFieldOption
s keyed by field name. The array type is now deprecated. The fields supplied in this config (if any) will now be merged with fields found in the configuredgrid
's columns, instead of overwriting them
LOCALE UPDATES
- Locales format and process for applying locales have been simplified
- New locales for 31 languages have been added. Currently available languages are listed in the localization guide (Guides/Customization/Localization)
BUG FIXES
- #3213 –
Cmd/Ctrl + Right click
weird behavior - #3733 –
selectedRecords
are in wrong order after shift selection - #4595 – Select all checkbox should not select filtered out records
- #5097 – Selected row gets deselected after page change with
preserveSelectionOnPageChange: true
- #5844 – Selection styling not applied after clicking a cell
- #5863 – Cell drag does not work on spreadsheet demo on
5.3.0
- #5864 – Cut & Paste column does not work on column header
- #5865 – Wrong redo icon
- #5866 – Copy and paste buttons disabled when selecting row
- #5867 – Name column width too narrow
- #5992 –
Checkbox
column background color to bright inClassic-Dark
theme - #6054 – Not persisted field marked as dirty in the grid, but not persisted in modified data
- #6194 – Crash when editing started and grid scrolled quickly
- #6205 – Crash when ancestor node of active cell is collapsed
- #6207 –
Treegrid
cut operation optimization - #6208 – Row should be selected when clicking outside a checkbox in a
checkcolumn
cell - #6243 –
reapplySortersOnAdd
doesn't work for tree store - #6246 – Crash when pasting rows if one of the copied tasks is removed
- #6267 – Persist expanded state when pasting tree nodes
Version 5.2.10
2023-02-17FEATURES / ENHANCEMENTS
- Search feature now supports not showing the hit index numbers (#6124)
API CHANGES
- Recently browsers have added support for Unicode 15, which changes the output of
Intl.DateTimeFormat
when formatting time to includeAM
/PM
. Those browsers now use "thin space" (\u202f
) instead of regular space. This affects theDateHelper.format()
function, but likely you do not need to take any action in your application. It also affectsDateHelper.parse()
, which has been updated to support the new unicode space (#6193)
BUG FIXES
- #4586 – Cannot drag row to last position in online demo
- #5637 – Allow dropping to closed groups
- #6039 – Resource order not applied with
syncDataOnLoad
- #6087 –
Checkbox
column state changed only on second click when its field is not defined in theModel
- #6088 –
CellEdit
feature throws if passed context points to non-existent record - #6092 – Wrong type for
FetchOptions
- #6100 – Row get deselected when click inside another row's actionable cell
- #6102 – Changing the column position then setting back to the initial position makes
oldValue
undefined
- #6126 – Tree Grid Search doesn't highlight cells after search function returns no results
- #6134 – Store ordering is broken after synchronizing changes
- #6144 –
applyChangeset
on a filtered store does not update the view - #6169 – Filter feature should not show menu items for group headers and footers
- #6186 – Should be possible to get the previous parent in move event
Version 5.2.9
2023-01-30FEATURES / ENHANCEMENTS
- New demo showing how to import Excel files into the grid (#5984)
API CHANGES
- As of version 6.0,
remove
event will no longer be fired when moving a node in a tree store. To enable this behavior now (recommended), you can set a newfireRemoveEventForMoveAction
on your tree store tofalse
(#5371)
BUG FIXES
- #5526 – Cannot open 2nd mask using static call
- #5860 – Docs UI is broken on a small window
- #5869 – Clicking checkbox column checkbox should not select/deselect
- #5967 –
TreeColumn
needs separate renderer docs - #5970 –
DragHelper
is too eager stopping event propagation - #6004 –
RowReorder
androwCheckboxSelection
mode improvements - #6013 – Default
'sum'
operation on aggregate columns does not sum decimal numbers - #6014 – Button menu listeners get duplicated when changing the menu
- #6019 – TypeScript Feature classes and configs have
on
event handlers exposed on owner class - #6023 – Group header counter is wrong when dropping rows from one group to another
- #6024 – Go to next/previous hit API does not work consistent
- #6045 – Missing localization
"Expand"
inRowExpander
- #6053 – Cut and paste within a tree crashes the grid
- #6069 – Params lost if defined in class config
Version 5.2.8
2023-01-19BUG FIXES
- #5386 – Improved panel collapse animation when collapsed panel header is perpendicular to expanded
- #5804 – Material panel toolbar padding not symmetric
- #5884 – Grid doesn't show fetched data after clearing filter
- #5893 – Row rendering breaks when collapsing groups
- #5895 – Groups disappear when changing grouped field value in a filtered view
- #5911 –
FilterBar
should not override data of filter field using chained store - #5959 – Reordering a row selects it when
rowCheckboxSelection: true
Version 5.2.7
2023-01-11FEATURES / ENHANCEMENTS
- The updated
tree
demo shows using differentModel
classes for the rows (#5888) Tree
feature now supports expanding to multiple nodes (#2287)Search
feature now supports providing the "fields" to restrict the search to for performance (#2294)
API CHANGES
- When using remote filtering for the
AjaxStore
, the date filter value is now always serialized in the local timezone. Previously (but undocumented) it was using the UTC timezone. The serialization format isYYYY-MM-DDThh:mm:ss.ms
(#5896)
BUG FIXES
- #5179 – Bad UX when typing into date field
- #5253 – Moved collapsed column doesn't have red text when drop is prohibited
- #5774 – Reordering row is not possible to do in the last row
- #5876 –
fitMode
generates unexpected result forActionColumn
- #5883 – Unexpected error with empty columns with specific configuration
Version 5.2.6
2022-12-28FEATURES / ENHANCEMENTS
- REACT React wrapper now supports React components in widgets and tooltips (#774)
- The
RowCopyPaste
feature will now paste copied or cut row(s) *below* selected or provided reference record. Previously the documentation stated that the copied or cut row(s) would be pasted above the reference record. However, the behaviour was inconsistent and cut-paste was done above while copy-paste was done below (#4890)
BUG FIXES
- #5019 – Grid ExtJS Modern App integration demo fails on Cell click
- #5486 – Horizontal scrollbar overlaps when the view becomes smaller
- #5790 – Column headers should not show pointer cursor if not sortable
- #5805 – Visual bug with MergeCells in multipage export
- #5812 – Horizontal scroll not working when mergeCells feature is enabled
- #5830 – "No records to display" label is wrongly rendered
- #5838 – Combo clearable trigger doesn't reset validation
Version 5.2.5
2022-12-16FEATURES / ENHANCEMENTS
- TreeStore now supports
indent
andoutdent
operations (#5547) RowCopyPaste
feature supports copying rows in a tree. Copied records will have same hierarchy- Paste after cut and copy behavior is unified, records are moved below the paste target
- Added field
orderedParentIndex
to resolve position of the child in the ordered children array (#5353) - Store now applies filters/sorters to any new data when calling
applyChangeset()
(#5534)
API CHANGES
- DEPRECATED Currently, when returning
undefined
from a column renderer, the actual cell will not be updated. There is a new config on Grid.column.Column which controls this behaviour –alwaysClearCell
. In 5.2.5 this will default tofalse
giving the same behaviour as previously. But in 6.0,alwaysClearCell
will default totrue
, requiring columns that relies on the previous behaviour to be configured withalwaysClearCell
set tofalse
BUG FIXES
- #5128 – Check column with supplied field should be filterable and sortable
- #5267 – Copy action not copying child resources
- #5288 – Columns get displaced when we try to resize that column while editing
- #5521 – Column sorting in empty cell editor mode merge cell values
- #5572 – Using sort feature triggers
autoLoad
forAjaxStore
- #5635 – LWC event in
filterOnInput
reports wrongtarget
- #5646 – Selection column sometimes not draggable
- #5647 – Columns sometimes collapse when resizing
- #5674 – Combo not sized the same when editable vs non-editable
- #5688 – LWC Cannot add property isActive, object is not extensible
- #5692 – Combos should be able to share Stores
- #5698 – Examples text overlaps
- #5700 –
FinalizeCellEdit
launch multiple times when clicked outside of grid with non-resolved promise - #5706 –
syncDataOnLoad
+threshold
, scroll error - #5730 –
index
is ignored when insert into filtered store - #5732 – Combo should update value collection silently when replacing store
- #5778 – Dragging resources to the last row causes crash in group
Version 5.2.4
2022-11-28FEATURES / ENHANCEMENTS
- We recently launched a new homepage over at bryntum.com, and have now slightly updated the styling for demos and docs to better match it (new logo, new header color, new font). Please note that this is not a change to our themes, only the look of the demos, and it won't affect your application
BUG FIXES
Version 5.2.3
2022-11-17BUG FIXES
- #5256 – FireFox doesn't have horizontal scrollbars in demos on Windows
- #5518 – Undo does not recognise zero and null values as a change
- #5537 –
tabPanel.add()
crashes the app - #5551 – Store
allRecords
includes group footers twice - #5569 – Grouping the store does not trigger state save
- #5570 – Crash when searching if focused cell is out of view
Version 5.2.2
2022-11-08FEATURES / ENHANCEMENTS
- The
emptyText
config may now be an HTML string (#5046)
API CHANGES
- DEPRECATED The behaviour of the
store.data
getter will be changed in 6.0. Currently, it returns the **initial** raw dataset, in 6.0 it will be changed to have the more expected behaviour of returning the data objects for the **current** state instead (#5499)
BUG FIXES
Version 5.2.1
2022-10-28API CHANGES
TreeNode.isRoot
property is now public (#5471)
BUG FIXES
- #4443 –
MergeCells
settrue
resources are not collapsing correctly - #5149 – Angular demos now use component-local styles using
ViewEncapsulation.None
- #5363 – Row reorder with non-direct parent/child don't match structure
- #5402 – Text overflows editor after opening cell editor
- #5403 – Pagination does not work when remote sort is used.
- #5404 –
TabPanel
triggers focus error when removing tab - #5409 –
Field
'sfetchInputValue
ignores theinputValueAttr
setting - #5426 – Mapped field does not return
null
value - #5428 – Changing column name should not trigger rerendering
- #5444 – Error when compiling TS Scheduler with
filterType: string
config - #5451 –
DatePicker
animation glitch - #5463 – Crash when resizing code editor panel to small width
- #5473 –
TabPanel
without tabs throwing an error - #5479 – An error when using remote filtering with
syncDataOnLoad
enabled - #5480 –
EventHelper
has globally visible breaking side effects
Version 5.2.0
2022-10-13FEATURES / ENHANCEMENTS
- Grid group columns now support collapsing and expanding. Try it out in the new
collapsible-columns
demo (#4878) - Grid columns can now be renamed by using the new
Rename
menu option in the column header or by focusing on the header and pressingF2
(#5112) - Menu has a
separator
config to make it easier to visually separate menu items - The responsive state objects used in the
responsive
config of theResponsive
mixin now support aonce
property to allow configs to only be set on first activation of the state - The
Core.helper.DateHelper
class has a new methodformatRange
method which can format date ranges, as well as new formatting options for week numbers - The
TreeGroup
feature was reworked to work better in Gantt, and as a bonus it also works in Scheduler. It now displays a new tree structure with links to the leafs in the original structure, rather than actually restructuring the original store. In Grid this should have almost no impact, but for very advanced use cases it can be worth knowing PdfExport
feature is refactored to render content directly. This significantly improves performance and robustness by eliminating component scrolling. This behavior is enabled by default. You can revert to the old behavior by settingenableDirectRendering
config on the export feature tofalse
. (#4449)- Added new
GridFieldFilterPicker
andGridFieldFilterPickerGroup
widgets, providing UI to manage a set ofCollectionFilter
s based on a Grid's columns - New
fieldfilters
demo showing how to add multi-filter UI to a Grid
API CHANGES
- DEPRECATED The
DomHelper.up()
function was deprecated, use nativeelement.closest()
instead
BUG FIXES
- #2512 – Implement
ignoreParentReadOnly
config on Widget - #4907 – Export dialog is not usable on narrow screen if component has a lot of columns
- #5237 – Moving a grouped header into another subgrid breaks headers
- #5240 – Reordering and then collapsing columns breaks header layout
- #5292 – Export dialog takes too much time to open in
groupedheaders
demo - #5297 – Export feature settings A6 landscape gives odd blank pages
- #5301 – Exporting dialog freezes
- #5360 – Clearing tree groups twice causes crash
Version 5.1.5
2022-10-12FEATURES / ENHANCEMENTS
- Added a preventable
beforeCancelCellEdit
event to the grid (#1832) - New records are assigned a generated
id
if none is provided. The generatedid
is meant to be temporary (a phantomid
), and should be replaced by the backend on commit. Previously theid
was based on a global counter incremented with each assignment. That simplistic scheme assured no two records got the sameid
during a session, but if an application serialized the generatedid
(note, they should not) and then reloaded it, it would eventually collide with a new generatedid
. To prevent this, the generatedid
s are now based on a random UUID instead - Stores now by default show a warning on console when loading records that has generated
id
s, as a reminder that it should be replaced by the backend on commit
BUG FIXES
- #4645 – Improve error message "Bryntum bundle included twice"
- #4654 – REACT Bryntum widget wrappers don't accept all component properties in React 18
- #5341 –
Picker
is shown forCombo
withkeyStrokeFilterDelay
after clearing value - #5343 –
AggregateColumn
not working if added afterGrid
is painted - #5348 –
RadioGroup
live demo broken - #5358 – Event being triggered multiple times after changing hidden property
- #5383 – Error triggered when adding new tab after remove a tab
- #5384 – Error after removing tab the index is not updated
Version 5.1.4
2022-09-29FEATURES / ENHANCEMENTS
- The
RowReorder
feature now has adropOnLeaf
config which in aTreeGrid
enables creation of parents simply by drag and dropping a row on a leaf. The feature has also been visually updated – when dragging and targeting into a row the targeted row will get a border and a different background. The arrow which previously indicated to which parent a row would be added, has been removed (#4582) - Added a preventable
beforeToggleGroup
event that is triggered before groups are toggled using the UI (#5218)
BUG FIXES
- #227 –
RowReorder
: Not possible to drop a row as a child of an empty parent node - #4974 –
AjaxStore
continuously making remote requests after store grouping whensortParamName
is set - #5031 – TypeScript Column type property is not defined
- #5032 – Column doesn't set column type according to data type
- #5170 – When first region has width and last region is collapsed, Grid doesn't resize with container
- #5173 –
FilterBar
doesn't work forstartDate
/endDate
columns when date hashour
/minute
provided - #5191 – Column's tooltip config (field) incorrectly processed
- #5209 – Rows remain selected after reorder on touch device
- #5210 – Crash when reordering rows on a touch device
- #5213 –
DatePicker
can't move months if min date is after current date - #5214 –
AjaxStore
continuously making remote requests after store sorting withsyncDataOnLoad
set totrue
- #5217 – Update
RowReorder
SASS to facilitate custom theming - #5220 – Should be able to drop a row as a child of an another row
- #5261 –
StateProvider
doesn't save state for grouped columns - #5275 – Error message returned from backend not displayed
- #5282 – Make
AjaxStore
urls changeable - #5285 – Error after sorting with custom
id
model field
Version 5.1.3
2022-09-09BUG FIXES
- #415 – Improve docs on formatting currency values on
NumberField
- #3680 – Support Salesforce Winter 22 release
- #5096 –
Datepicker
year select doesn't allow to configure year options - #5125 – Setting an initial value for
activeTab
on aTabPanel
no longer animates that tab into view - #5142 – Drag and drop support for the
rowexpander
- #5161 – Grid doesn't destroy existing column models when assigning new data to
columns
- #5174 –
RowExpander
triggers an error when configured in Vue example - #5182 –
TimeField
should keep date if user types in the value - #5201 –
Store
sort useslocaleCompare
for non-string types
Version 5.1.2
2022-08-29FEATURES / ENHANCEMENTS
- Grid Columns now accept a
cellEditor
property as a config object to allow customization of the floatingEditor
Widget which encapsulates itseditor
input field (#2465) - An application's filters on a store may now be configured with an
internal
property. This indicates that they are fixed, and must not be ingested and modified by filtering UIs such as theFilter
andFilterBar
features (#4980) - Configs that accept configuration options for a widget (or other class) are now (mostly) documented to accept a typed
config object rather than a plain object. For example instead of
{Object} tooltip - A tooltip configuration object
, it is now{TooltipConfig} tooltip - A tooltip configuration object
. This improves our TypeScript typings (transforms toPartial<TooltipConfig>
in typings) when using such configs, but also improves our docs by linking to the configs of the type - Added a
keepDate
config to theTimeField
. By default, it is false and sets date component of the field value toJanuary 1st
. Set it to true to keep original value intact and only change the time component (#5058) - Added a new
project-summary
demo showing how to combine multiple Grid features to provide a visually nice looking list of data
BUG FIXES
- #3238 – Columns in the column store may not reflect the order they appear in visually
- #3552 – Opened dropdown list not re-positioned when scroll the entire app
- #4656 – Error when deleting rows out of visible area in large data sets
- #4661 –
OnToggle
in theCheckColumn
not working - #4929 –
autoHeight
cells with no content should not cause rows to collapse below the configuredrowHeight
- #4946 – Mask is not aligned properly to the grid body if
bbar
is enabled - #4999 –
AjaxStore
beforeRequest
doesn't allow to make changes in request body - #5010 – Group expanders still visible after stopping grouping
- #5017 – TypeScript Property type is missing in
DataFieldConfig
- #5018 – Vue Prop Validation fails for
String
options - #5026 – Auto filled combo in filter bar does not select picked values
- #5067 –
readOnly
disables Slider fields and makes them unfocusable - #5072 –
grid.startEditing()
should be supported - #5080 – TAB from an actionable location inside a grid cell should navigate right (or left with shift key)
- #5088 – Crash when entering number into paging toolbar
page
field - #5089 – Grid
readOnly
value should not be saved in its state - #5104 – Docs Wrong docs for
toggleCollapse
function inGroup
feature
Version 5.1.1
2022-07-28BUG FIXES
Version 5.1.0
2022-07-21FEATURES / ENHANCEMENTS
- A row expander feature has been added to Grid, which also makes it available for Scheduler and Scheduler Pro. The feature makes it possible to expand and collapse each row by either a separate expander column or a grid cell event. The expanded rows content is rendered by a rendering function that the implementor provides in the feature config (#2374)
- Updated the built-in version of FontAwesome Free to
6.1.1
- Our TypeScript typings for string types that have a predefined set of alternatives was improved to only accept
those alternatives. For example previously the
dock
config which was previously declared asdock: string
is nowdock : 'top'|'right'|'bottom'|'left'
- Create React App templates now available
KeyMap
is a mixin that allows for standardized and customizable keyboard shortcuts functionality.KeyMap
is by default mixed in toWidget
and therefore available to allWidget
's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)
API CHANGES
- DEPRECATED The
breakpoints
config of theCore.widget.mixin.Responsive
mixin is deprecated in favor of its newresponsive
config. Theresponsive
config is more easily customized when used in the default configuration of widgets - DEPRECATED The
responsiveWidthChange
andresponsiveHeightChange
events of theCore.widget.mixin.Responsive
mixin are deprecated in favor of its newresponsiveStateChange
event - BREAKING ANGULAR Angular wrappers now use the more modern module bundle by default, instead of the legacy umd bundle. Hence application imports must be changed to match. This will slightly improve application size and performance (#2786)
- BREAKING
grid.lite.umd.js
bundle is no longer available - BREAKING WebComponents has been removed from
grid.module.js
ES modules bundle. New bundle with WebComponents isgrid.wc.module.js
BUG FIXES
- #4687 – Grid RowExpander: Content overflows to the next row when browser window is narrow
- #4688 – Make button text in **rowexpander** demo not selectable
- #4696 – Parents sorted below children in docs
- #4697 – Too dark code background in docs
- #4934 – Selection column in the wrong place when using grouped headers
- #4936 – Combo with
autoexpand: true
closes immediately on first click of dropdown arrow
Version 5.0.7
2022-07-13FEATURES / ENHANCEMENTS
- Added preventable
beforeSelectionChange
event which fires before selection changes (#4705)
BUG FIXES
- #4746 – Vertical scroll jumps up when clicked on top of horizontal scrollbar
- #4758 – Allow cancelling an export process
- #4836 – Check column not rendered correctly on
readOnly
mode - #4865 – LWC Exception when clicking on modal over the component
- #4871 – Error when committing changes with nested
responseDataProperty
path - #4872 – Aborted fetch should reject the promise
- #4874 –
WidgetColumn
should be readOnly if record isreadOnly
- #4879 – Grid Vue demo error rendering
- #4915 – Cell tooltip remains when hovering over blank cells
- #4916 –
Fullscreen
is not working on mobile Safari
Version 5.0.6
2022-06-20BUG FIXES
- #841 – Add
searchAllRecords
flag to store search functions - #4146 –
TaskEditor
clears time when editing events with datetime picker - #4254 – Grid with checkbox column should be
readonly
if bound to a data field andcellEdit
is not enabled - #4750 – Splitter overlays
bbar
- #4755 – Wrong element focused if tabbing over cells where
beforeCellEditStart
returnsfalse
- #4778 – Body mask now tracks grid resize to maintain cover of the body
- #4779 – Crash when adding empty
bbar
- #4788 –
GridRow
Chevron Stops Responding on Touch Device with5.0.X
- #4804 – Radiobutton hover effect incorrectly positioned in Material theme when on RTL
- #4808 – Typings are wrong for async functions
Version 5.0.5
2022-05-30FEATURES / ENHANCEMENTS
- Added
paste
andcopy
events to theRowCopyPaste
feature (#4552) - Added
filterStyles
config to thePdfExport
feature to simplify styles processing (#3103)
BUG FIXES
- #2275 – Export to PDF fails when Grid headers are hidden
- #4350 – Fixed various panel collapse issues
- #4444 – Tooltip not displayed when calling
showBy
targeting a widget - #4545 – LWC Columns and row reordering features don't work
- #4567 – Using too new
replaceChildren
API in Row - #4607 – VUE Incorrect prop types in Vue wrapper
- #4630 – Column reorder triggers double repaint
- #4636 – Model field is not exposed correctly if data is not preloaded to the store
- #4638 –
mergeCells
causes fail in export
Version 5.0.4
2022-05-11API CHANGES
- Container's
autoUpdateRecord
config was made public. Set it totrue
to update record fields when child fields change (#4073) - Model's
clearChanges
function parameterincludeDescendants
made public. Set it tofalse
to not clear changes on a node's descendants (#4565)
BUG FIXES
Version 5.0.3
2022-04-26FEATURES / ENHANCEMENTS
AggregateColumn
now has aincludeParentInChangeSet
config which will trigger parent row changes to appear in the modification tracking and in sync requests (#3969)
API CHANGES
- New Vue 2/3 wrapper config option
relayStoreEvents
(defaults tofalse
). When set totrue
, the events fired by stores are relayed to the Bryntum Grid instance - REACT React wrappers now include TypeScript definitions (#3378)
BUG FIXES
- #100 – Splitter has wrong color
- #4127 – LWC
DomHelper.isInView()
throws - #4222 – LWC Performance degradation in 5.0 release
- #4289 – Using
TreeGroup
modifies tasks - #4324 – Widget column with button doesn't pass text into child widget
- #4432 – LWC Mouse events do not work
- #4459 – Bryntum Grid search feature limited to 1000 matches
- #4461 – Vue wrapper triggers doubled
dataChange
events with different params - #4496 –
createOnUnmatched
doc is wrong - #4523 – Docs do not tell how to disable certain menu items
- #4535 – Error appeared when state try to apply selection on already removed record
Version 5.0.2
2022-04-13API CHANGES
- Deprecated
showByPoint()
in Widget, it will be removed in version 6.0. UseshowBy()
instead
BUG FIXES
- #2796 – Allow customizing Roboto path in material theme
- #3941 – Field picker is not aligned on scroll
- #4097 – Bug when restore state for
filterBar
column with date type - #4134 – REACT Basic React Data Grid demo – React cell editor does not work
- #4248 – Grid splitter arrows artefact
- #4308 – Problems with rendering React component in column renderer and as cell editor
- #4321 – Dragging between groups in the Grid should change group field of the dragged records
- #4326 – Grid region splitter buttons not touchable
- #4351 – Listeners object breaks click functionality
- #4360 – Wrong color of checkbox checkmark in Stockholm theme
- #4364 – When editing cell, editing doesn't end when click outside of the grid
- #4366 – Dragging column header to edge should trigger scroll
- #4368 – Filterbar live demo in docs has misaligned fields
- #4373 – Panel collapse arrow pointing in wrong direction initially
- #4377 – Change radio button to use
<div>
for the selected circle - #4406 – Fixed items in disabled
fieldset
/radiogroup
not being disabled - #4408 – Column
filterFn
function works incorrectly if multiple columns share field - #4412 – Batch column updates do not show until next column update
- #4464 – Search feature not searching on date and duration fields
- #4467 – Changing the tree column causes expand icon sync issues
- #4482 – Grid not refreshed when supplying empty array to
store.filter()
withreplace: true
Version 5.0.1
2022-03-04BUG FIXES
- #4246 – Docs splitter is too wide when hovered
- #4249 –
DateTimeField
does not update if required - #4270 –
CellTooltip
should not cache async fetched cell content - #4278 –
cellContextMenu
not working - #4282 – Examples browser scrolls to top after fully loaded
- #4288 – Right editor border not visible when starting editing
Version 5.0.0
2022-02-21We are thrilled to announce version 5.0 of our Grid product. This release marks a big milestone for us, after more than a year of development. This update contains a new RadioButton widget, new TreeGroup and MergeCells features as well as bug fixes and other enhancements requested by our community. A big thanks to our customers who helped us with testing our alpha & beta versions
You are most welcome to join us on March 16th, at 9am PST (6pm CET) for a 5.0 walkthrough webinar, demonstrating all the shiny new features Click here to register
We hope you will enjoy this release and we are looking forward to hearing your feedback of what you would like us to develop next
/ Mats Bryntse, CEO @Bryntum
FEATURES / ENHANCEMENTS
- Each product has a new "thin" JavaScript bundle. The thin bundle only contains product specific code, letting you combine multiple Bryntum products without downloading the shared code multiple times (previously only possible with custom-built bundles from sources). Find out more in the What's new guide (#2805)
- Each theme is now available in a version that only has product specific CSS in it, called a
thin
version. These files are nameproduct.theme.thin.css
–grid.stockholm.thin.css
for example. They are intended for using when you have multiple different bryntum products on the same page, to avoid including shared CSS multiple times Read more about it in theWhat's new
section in docs (#3276) - Using the new
MergeCells
feature and the correspondingmergeCells
config on columns it is now possible to have cells spanning multiple rows. Applies to sorted columns, cells that have the same value are merged into a single cell. Try it out in the newmerge-cells
demo (#196) - A new
deselectOnClick
config was added toGridSelection
to allow single click toggling of a row / cell selected state (#3577) Model
has a newreadOnly
field that is respected by UI level editing features to disallow editing records havingreadOnly : true
. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)- Grid has a new
TreeGroup
feature that can transform a tree on the fly. It generates a new tree structure based on an array of field names (or functions), each entry yields a new level in the resulting tree. Check it out in the newtree-grouping
demo (#3543) window
references are replaced withglobalThis
which is supported in all modern browsers and across different JS environments (#4071)- A new function called
downloadTestCase()
was added to Bryntum widgets, it is intended to simplify creating test cases for reporting issues on Bryntum's support forum. Running it collects the current value for the configs your app is using, inlines the current dataset and compiles that into a JavaScript app that is then downloaded. The app will most likely require a fair amount of manual tweaking to reproduce the issue, but we are hoping it will simplify the process for you. Rungrid.downloadTestCase()
on the console in a demo to try it - Updated FontAwesome Free to version 6, which includes some new icons sponsored by Bryntum in the charts category: https://fontawesome.com/search?m=free&c=charts-diagrams&s=solid
- When configured with a StateProvider and
stateId
, Grid state is stored automatically as stateful properties change (#1859)
API CHANGES
- BREAKING Grid's
selectionMode
config is now merged with the default settings (previously it overwrote defaults) See upgrade guide for more details - BREAKING Store´s remove method now returns an empty array if no records were removed (previously returned
null
) - BREAKING TreeStore´s
beforeRemove
andremove
events now only includeparent
when removing a single node - The List widget now uses UL and LI elements to represent its items, may affect your styling if you use DIV in your style rules
- BREAKING TextAreaField was renamed to TextAreaPickerField to serve only as a picker-type field. A new TextAreaField widget was added which is used in Gantt's NotesTab
- BREAKING TextAreaPickerField's
inline
config has been removed, use TextAreaField instead - BREAKING React wrappers now use the modern module bundle by default, instead of the legacy umd bundle. Hence application imports must be changed to match. This will slightly improve application size and performance (#2787)
- Store's
toJSON()
method now ignores all local filters and returns all records (#4101) - The following previously deprecated Core configs, functions etc. where removed:
- Config
DatePicker#editOnHover
– no replacement, no longer relevant - Argument
newId.deep
forModel#copy()
– previously replaced by separatedeep
argument - Config
DateDataField#dateFormat
– previously replaced byformat
config - Config
ContextMenuBase#menuConfig
– previously replaced bymenu
config - Function
ObjectHelper.allKeys()
– previously replaced bykeys()
function - Function
StringHelper.capitalizeFirstLetter()
– previously replaced bycapitalize()
function - Function
StringHelper.lowercaseFirstLetter()
– previously replaced byuncapitalize()
function - Argument
config.element
forScrollManager#startMonitoring()
– previously replaced byconfig.scrollables
arg - Config
Button#menuIconCls
– previously replaced bymenuIcon
config - Config
Tooltip.html
no longer handles returningfalse
as a way of flagging the tooltip content as async – previously replaced by theshowAsyncMessage
config - Param
record
of theStore#move
event – previously replaced with therecords
param - Old
TreeNode#insertChild()
signature – previously replaced with current(childRecord, before, silent)
signature - Argument
returnAll
forDomHelper.createElement
– previously replaced byoptions.returnAll
- The following previously deprecated Grid configs, functions etc. where removed:
- Array form of the
Column#cellMenuItems
config – previously replaced by object form - Array form of the
Column#headerMenuItems
config – previously replaced by object form - Config
Grid#showRemoveRowInContextMenu
– in favor of CellMenu feature items configuration - Returning
false
fromCellTooltip#tooltipRenderer
no longer flags it as async – previously replaced with returning a Promise ContextMenu
feature – previously replaced byHeaderMenu
andCellMenu
features- Param
record
of allRowReorder
events – previously replaced byrecords
- Event
Grid#beforeExport
– in favor ofbeforePdfExport
event (#3240) - Event
Grid#export
– in favor ofpdfExport
event
BUG FIXES
- #758 – State mixin to use configurable's
onConfigChange
hook - #1404 – Tapping cell should select row, not start cell editing
- #3088 –
ColumnStore
remove method is very slow - #3575 – No selection when disabling
multiSelect
- #3947 – Inconsistent right / bottom padding in
MessageDialog
- #3952 – Wrong border bottom color for panel header
- #4022 – Panel collapse icon
- #4039 – Popup with grid hides when picking item in grid cell menu if
animateRemovingRows
istrue
- #4045 – Arrow down in FilterBar number field should not navigate to grid cells
- #4079 – CellEdit instantUpdate regression
- #4086 – Allow derived classes to adjust delayable method options
- #4143 – Autoheight demo throws when trying to edit notes
- #4233 – Cut task remains grayed out after copying
Version 4.3.9
2022-02-17BUG FIXES
- #4127 – LWC
DomHelper.isInView()
throws in Salesforce - #4130 – fi-FI locale uses
\u2212
as the negation symbol which won't parse - #4131 –
DurationField
uses wrong unit after clearing and using step trigger - #4170 –
Column
interface is missingstatic get type()
- #4195 –
AjaxStore
loads despite autoLoad being false when filterBar used and there is a configured filter - #4201 – Cannot load non-extensible data objects with
transformFlatData
- #4209 –
transformFlatData
not working ifchildren : true
is present
Version 4.3.8
2022-02-07BUG FIXES
Version 4.3.7
2022-02-02FEATURES / ENHANCEMENTS
- CellEdit
autoEdit
now leaves editing state after pressing Enter, you can control this behavior with the neweditNextOnEnterPress
flag. (#4032) - CellEdit can now be configured to stop editing after clicking another cell via its new
continueEditingOnCellClick
config (#4046) - Added public
dragStart
/drag
/drop
events to Splitter class (#4060)
API CHANGES
- TreeColumn icons are now always rendered before the
b-tree-cell-value
text content element. Might effect your styling if you relied on icon position in the DOM - DEPRECATED Grid
beforeExport
andexport
events (triggered byPdfExport
feature) were deprecated in favor of thebeforePdfExport
andpdfExport
events respectively. The old events names will be dropped in v5.0.0
BUG FIXES
- #3197 – Grid Filter Popup has hardcoded width which breaks rendering when fields have a big width
- #3770 – Fix handling of initially collapsed panels with configured size
- #4028 – On demand load issue in tree grid when using
syncDataOnLoad
- #4029 –
autoEdit
should not react when CTRL / CMD key is used to copy & paste - #4030 –
RowCopyPaste
broken - #4041 –
TextArea
ignores arrowDown key press - #4051 –
CellTooltip
does not update on next show for the same row, when its record is mutated - #4080 – Sub-menu closes when moving over gap
- #4082 – Relayed listeners do not trigger onFunctions
Version 4.3.6
2022-01-13FEATURES / ENHANCEMENTS
- Clearing and changing the content of a TreeStore is much easier and faster now using the
clearChildren
andreplaceChildren
API of theTreeNode
class. Changing the column set of a Grid should use these APIs on the store'srootNode
- The Grid now fires
beforeRenderRow
andrenderRow
events to allow customization of rows (#3960)
BUG FIXES
- #935 – text-overflow of grid column header broken in material theme
- #3795 – Grid Search feature does not handle TreeColumn's rendering inside a cell
- #3897 – TypeScript Missing ArrayDataField
- #3933 – An error when using multiSelect filter field config for tree column
- #3945 – Cannot select text in popup
- #3950 – PasswordField styles broken
- #3958 – Fix panel collapser docs for
direction
config - #3962 – Tree parent / leaf icon indent mismatch
- #3975 – Restore state works incorrect with filterBar
- #3976 – Grid Column needs a maxWidth config
- #3978 – Clicking selected day cell in datepicker causes refresh
- #3987 – StoreSync fails when using tree data with lazy loaded parent nodes
- #3989 – Tree grid + filterbar + multiselect not working
- #3990 – Chrome & Content Security Policy causes failure because of debug code section
- #4008 – Filter icon disappears when a column is hidden
Version 4.3.5
2021-12-24BUG FIXES
- #2944 –
transformFlatData
not compatible withsyncDataOnLoad
in a tree store - #3752 – Restoring state after
filterBy
on grid (or scheduler) crashes - #3863 – Export server executable for windows does not work
- #3896 – TypeScript Wrong typings of model class configs
- #3902 –
AjaxStore
re-requests the current page if thepageStartParam
being requested is zero - #3906 – When using selection mode
rowCheckboxSelection
overrides checkbox property - #3907 – TypeScript Cannot pass Scheduler instance to
Store.relayAll
- #3908 – ActionColumn: tooltip not displayed when using rendered config
- #3909 –
showCheckAll
config in CheckColumn not working - #3910 – Error when collapsing expanded nodes in TreeGrid with empty children array
- #3912 –
Grid.column.ActionColumn
renderer not working - #3928 – DateHelper
k
format behaves incorrectly - #3938 –
revertChanges
not working for number column having an undefined value
Version 4.3.4
2021-12-13FEATURES / ENHANCEMENTS
- Updated
angular-renderer
Angular demo to use Angular 13 (#3742) - RowReorder
gridRowBeforeDropFinalize
andgridRowDrop
events now include information about the original position of the dragged tree nodes when reordering nodes in a tree grid (#3810)
BUG FIXES
Version 4.3.3
2021-11-30FEATURES / ENHANCEMENTS
- Grid´s
ColumnReorder
feature now firesbeforeColumnDragStart
,columnDragStart
,beforeColumnDropFinalize
,columnDrop
events which let you veto move operations (#3667) - New
aggregation-column
demo showing the Aggregate Column (#3818)
API CHANGES
- AggregateColumn now subclasses NumberColumn instead of Column
BUG FIXES
- #3616 –
Filter
bar field remains after hiding a column - #3630 – Whitespace seen when adding many new rows quickly
- #3637 – When tooltip uses a
forSelector
andtrackMouse
, moving within its active target - #3648 – DOCS Content navigation is broken
- #3654 – Format of date
FilterBar
field should default to date format of column - #3670 – STM
resetQueue
error if a transaction is being recorded - #3671 – Parent column receives an autogenerated field
- #3707 –
ExcelExporter
export method should return a Promise - #3710 – Allow to configure
dragTouchStartDelay
forRowReorder
feature - #3743 – DOCS
web.config
file for Windows IIS server - #3817 – Adding a node to a collapsed parent does not refresh grid properly
Version 4.3.2
2021-10-29FEATURES / ENHANCEMENTS
RowCopyPaste
feature now firesbeforeCopy
andbeforePaste
events to let you prevent the actions (#3303)
BUG FIXES
Version 4.3.1
2021-10-21FEATURES / ENHANCEMENTS
- A group column can now be
sealed
meaning you are not allowed to drop columns into it (#3536) - Bumped builtin Font Awesome Free to version 5.15.4
BUG FIXES
- #361 – Sorting
ColumnStore
should rerender content automatically - #3522 – Filter bar header field disappears when moving parent column in grouped headers
- #3535 – Crash when dragging column header to locked side
- #3561 – Crash after right clicking columns on Gantt Predecessor / Successor, only works on the first one
- #3567 – Minified css bundle contains unicode chars
- #3581 – Toolable docs link broken
- #3582 – Columns autoWidth feature not working when table is embedded in a div with
display: none
style - #3587 – Possible to select unselectable row using checkbox
Version 4.3.0
2021-10-12FEATURES / ENHANCEMENTS
- WidgetColumn now offers two-way binding by configuring the column's field widget with a name corresponding to a
Model
field name. See this demonstrated in theexamples/widgetcolumn
example - Panels can now be collapsed when configured as
collapsible
(#914) - BREAKING
@babel/preset-env
config targetchrome: 75
is now used for the UMD bundle. This decreases bundle size and improves performance for modern browsers (#3201) - Legacy Angular demos for versions 1-5 were removed due to incompatibility with the new UMD bundle format
API CHANGES
- DEPRECATED Buttons
menuIconCls
config was deprecated in favor of the newmenuIcon
config, which better matches the naming of other configs
BUG FIXES
Version 4.2.7
2021-10-01FEATURES / ENHANCEMENTS
- Buttons that have a menu now show a caret down arrow icon, see
menuIconCls
in Button docs (#3426) - Grid now fires
subGridExpand
+subGridCollapse
events after toggling the sub gridcollapsed
state (#3459) ComboBox
can now be configured to accept unmatched typed filter strings to create a new record. Use thecreateOnUnmatched
config to enable this. This may be configured as a function to create the new record in an app-specific way (#3249)
BUG FIXES
Version 4.2.6
2021-09-15FEATURES / ENHANCEMENTS
- You can now control if the widget tooltip should be shown when the widget is disabled using the
showTooltipWhenDisabled
config
BUG FIXES
Version 4.2.5
2021-09-08FEATURES / ENHANCEMENTS
- The
GroupSummary
feature has a new config (and property) calledtarget
that can be used to render summaries to group headers (target : 'header'
) instead of to group footers (the default,target : 'footer'
). Try it out in the updatedgroupsummary
demo (#3312) - The API documentation now better communicates when a field or property accepts multiple input types but uses a single
type for output. For example date fields on models, which usually accepts a
String
orDate
but always outputs aDate
(#2933)
BUG FIXES
- #2756 – Row height is not recalculated when collapsing group when using
collapseToHeader
- #2951 – Store is not filtered if filterBar combo is initialized with multiple values
- #3322 – Add
dataChange
event to framework guides - #3355 – Column cell tooltip misplaced with
hideDelay = 0
- #3364 – Grid select all records not working when store is grouped and filtered
- #3373 – Combo blank entry is less tall
Version 4.2.4
2021-08-27BUG FIXES
- #2983 – Row Selection Checkbox disappears with Group Summary feature
- #3096 – Slider#showTooltip: false does not disable tooltip
- #3220 – Sorting column by nested field does not work
- #3259 – Splitter should support block containers
- #3265 – Docs are not scrolled to the referenced member
- #3277 – Crash when hiding parent column
- #3301 – Copy/Paste should not react if cell or editor text is selected
- #3302 – TreeStore#move does not update tree contents properly
- #3305 – Guides look bad in the docs search results
- #3306 – Doc browser does not scroll to member
Version 4.2.3
2021-08-05FEATURES / ENHANCEMENTS
- The PdfExport feature now supports configuring its ExportDialog to pre-select columns to export or to customize any of the child widgets (#2052)
- NPM Bryntum Npm server now supports remote private repository access for Artifactory with username and password authentication (#2864)
- TYPINGS Type definitions now contain typed
features
configs and properties (#2740)
API CHANGES
- DEPRECATED PdfExport feature
export
event is deprecated and will be removed in 4.3.0. Useexport
event on the Grid instead - DEPRECATED Grid
beforeExport
event signature is deprecated and will be removed in 4.3.0. New signature wraps config object to the corresponding key
BUG FIXES
- #1596 – Collapsed groups disappear when using filterBar
- #1698 – Export dialog is not configurable
- #2600 – PdfExport feature export() method should take column exportable flag into account
- #2693 – exporterType : 'multipage' not respected
- #3206 – Selection is not updated when triggering contextmenu on expander icon
- #3209 – Filterbar feature uses wrong column looking for filter fn
- #3247 – Scroller position reset to 0 when filtering using FilterBar with no results
Version 4.2.2
2021-07-21FEATURES / ENHANCEMENTS
- NPM Bryntum Npm server now supports
npm token
command for managing access tokens for CI/CD (#2703)
BUG FIXES
- #365 – Re-assigning columns is not compatible with checkbox selection model
- #2170 – Cell tooltip hides & shows infinitely if it doesn't fit in the viewport
- #3039 – Fixed incorrect
dragcancel
firing when only a click (and no drag) occurred - #3162 – LoadOnDemand feature cannot be disabled in runtime
- #3167 – LWC bundle is missing from trial packages
- #3178 – Syntax highlighter messes up code snippets in docs
- #3192 – Filterbar combo width does not stretch to match column
Version 4.2.1
2021-07-07FEATURES / ENHANCEMENTS
- FRAMEWORKS Added
rowCopyPasteFeature
to frameworks wrappers (#3135)
BUG FIXES
Version 4.2.0
2021-06-30FEATURES / ENHANCEMENTS
- List can now render a grouped store, which can be used by Combo for a grouped combo UI (#2459)
- Added a new
Responsive
mixin that can be mixed into widgets to allow responsive behaviour (#2672) - BREAKING
Grid.util.ScrollManager
was moved to the Core package and renamed toCore.util.ScrollManager
. It is untangled from the Grid and allows managing scrolling of any DOM element. (#2883) - Added a new
bubbleEvents
config to specify events that should always bubble. Useful for example on fields in a container, to bubblechange
events and catch them in a listener on the container - Added "Replacing Font Awesome with Material Icons" guide
API CHANGES
- BREAKING
GlobalEvents
is no longer exposed onwindow
. If you use it in your application, import it instead
LOCALE UPDATES
removeRows
label of CellMenu & GridBase was removed- Value of
removeRow
label of CellMenu & GridBase was updated to say just 'Remove' - RowCopyPaste locales were updated to just say 'Copy', 'Cut' & 'Paste'.
copyRows
,cutRows
&pasteRows
keys were removed
BUG FIXES
- #2643 – Code editor shows all code in one line
- #2940 – Ok and Cancel button order should match OS
- #3036 – Hidden columns are exported anyway
- For more details, see What's new and Upgrade guide in docs
Version 4.1.6
2021-06-23FEATURES / ENHANCEMENTS
- GridSelection has a new selectionMode option
preserveSelectionOnPageChange
which preserves the selected records while moving between pages in a paged dataset (#3079)
BUG FIXES
- #110 – Group and Sort features should support custom sorting functions
- #278 – Calling tree store removeAll(true) unbinds rootNode from store
- #2756 – Row height is not recalculated when collapsing group
- #3005 – VUE-3 Problem with Critical Paths due to Vue Proxy and double native events firing bug
- #3008 – Remove childElementCount usages, unsupported in LWC
- #3018 – QuickFind feature should encode HTML
- #3026 – VUE-2 and VUE-3 typescript type declarations are missing
- #3028 – Parent task turned into leaf after removing child task
- #3029 – Child nodes not removed after collapsing parent node in tree grid
Version 4.1.5
2021-06-09FEATURES / ENHANCEMENTS
- Grid now has a
minHeight
of10em
by default. This assures that the Grid will get a size even if no other sizing rules are applied for the element it is rendered to. When the defaultminHeight
is driving the height, a warning is shown on the console to let the dev know that sizing rules are missing. The warning is not shown if aminHeight
is explicitly configured (#2915) - TYPINGS API singleton classes are correctly exported to typings (#2752)
BUG FIXES
Version 4.1.4
2021-05-28FEATURES / ENHANCEMENTS
- Grid can now be configured to clear its row / cell selection after a new dataset is loaded. This is
configured using the
selectionMode#preserveSelectionOnDatasetChange
config of the GridSelection mixin - Grid can now be configured to preserve its vertical scroll state after a new dataset is loaded. This is
controlled by the
preserveScrollOnDatasetChange
flag - Grid RowReorder feature now allows for async finalization of a drop. See updated docs or
rowreorder
demo for guidance. (#2716) - TypeScript definitions updated to use typed
Partial<>
parameters where available - Buttons now has a new style
b-transparent
that renders them without background or borders (#2853) - NPM repository package
@bryntum/grid
now includes source code (#2723) - NPM repository package
@bryntum/grid
now includes minified versions of bundles (#2842) - FRAMEWORKS Frameworks demos packages dependencies updated to support Node v12
BUG FIXES
- #2104 – "Core" code not isomorphic
- #2783 – CellMenu not triggered on iPhone's with 3D touch enabled
- #2828 – Memory leak when replacing project instance
- #2834 – Core should not use b-fa for icon prefix
- #2874 – Filter field should not grow when X is shown
- #2884 – Check all checkbox checked state should be updated after page change
- #2908 – ANGULAR Add custom-tag rendering of tooltip, header, etc. to angular-renderer demo
- #2936 – Filter added to nested column does not update filter field
- #2937 – Clicking next page doesn't scroll to top
Older versions
- Full release version history can be found here.