Grid – Change Log

Version 5.3.6

2023-05-26

FEATURES / ENHANCEMENTS

  • Grid now fires new splitterExpandClick and splitterCollapseClick 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 when selectAll enabled
  • #6756LWC Grid does not render due to scrollBarWidth calculation
  • #6760CellCopyPaste 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
  • #6805includeInSubset creates duplicate records in the store
  • #6807 – Splitter cannot resize neighbor widgets in react apps

Version 5.3.5

2023-05-11

FEATURES / 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 a TreeColumn 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
  • #6701IONIC 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-28

FEATURES / 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 setting hideable to true) (#6650)

BUG FIXES

  • #6267 – Persist expanded state when pasting tree nodes
  • #6584 – Row select blinking on mobile after first select
  • #6640LWC 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-21

FEATURES / ENHANCEMENTS

  • The CellEdit feature's autoEdit functionality now triggers a beforeCellRangeDelete event which by returning false, can prevent the deletion on multiple cell values. When only deleting a single value, the already existing beforeCellEditStart 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 and angular-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 inside examples/frameworks/angular/ folder
  • ANGULAR angular-12, angular-13 and angular-14 demos have been added for Angular 12, 13 and 14. Demos are located in subfolders inside examples/frameworks/angular/ folder
  • ANGULAR basic demo has been upgraded to use Angular 15. Demo is localed in located in examples/frameworks/angular/basic/ folder
  • ANGULAR legacy angular-6, angular-7 and angular-8 demos has been removed

API CHANGES

  • Removed skipRefresh argument from Grid's toggleCollapse() 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
  • #6166createOnUnmatched only creates new record on Enter key press
  • #6483 – Grid header alignment Issue when using 3+ levels headers
  • #6524FillHandle 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
  • #6548Backspace key not working in cell editor with combo combo
  • #6549 – Grid header misalignment when material theme used
  • #6620 – Dynamically created SubGrid's xScroller does not have a reference to the outer Y scroller

Version 5.3.2

2023-04-04

FEATURES / ENHANCEMENTS

  • Grid's ColumnStore now uses syncDataOnLoad : 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 and php-paging demos were updated to work with PHP 8

API CHANGES

  • The docs for the Grid's selectionChange and beforeSelectionChange events mistakenly showed that the deselected, selected and selection params included records or cells, when they only included records. That have been fixed, and we also added deselectedCells, selectedCells and cellSelection 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 (from CellCopyPaste). To show both cell & row copy items in the same menu, enable the rowOptionsOnCellContextMenu config.

BUG FIXES

  • #6058 – Widget's showAnimation config not working properly
  • #6120store.load() doesn't work if TreeGroup feature used
  • #6321 – Built in DateField validation not working properly
  • #6357 – Double entries of copy/paste
  • #6358 – Hard to select row in advanced demo
  • #6360selectedRecords 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
  • #6428FullScreen.request method should move floatRoot into the fullscreened element
  • #6433 – Escape key not working in example filter field
  • #6443SubGrid 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
  • #6507dropOnLeaf does not work properly on a scrolled page
  • #6509 – Column readOnly should prevent editing

Version 5.3.1

2023-03-17

FEATURES / 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 to Model class from GridRowModel
  • 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
  • #6314VUE Columns prop has wrong type in BryntumGrid wrapper component
  • #6327 – Examples filter field clearing does not refresh example list
  • #6328'move' event oldParent should pass rootNode when moving a node from the rootNode
  • #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
  • #6355StateProviderConfig TypeScript missing listeners property
  • #6365VUE3 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-02

FEATURES / 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. The multiEdit config is true 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 the includeParents config. Set it to all or true to auto select a parent if all its children gets selected. If one gets deselected, the parent will also be deselected. Set it to some 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 check addQueryParamsToBody 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 a Resource in Scheduler, was made public. It allows you to define one-to-many relations between models in a relations block when subclassing Model (#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 as Record<keyType, valueType>, and for functions that accept object arguments many are replaced with anonymous type declarations, such as { foo: string, bar: number } (Partially fixed #5176)

API CHANGES

  • DEPRECATED LocaleManager.registerLocale and LocaleManager.extendLocale are deprecated. LocaleHelper.publishLocale should be used instead.
  • DEPRECATED With the introduction of cell selection, Grid's selectionMode config no longer has the row setting. Instead, it is the default mode and can be omitted. Specifying cell : true will enable cell selection and disable row selection – both cannot be used at the same time.
  • DEPRECATED The rowCheckboxSelection setting of Grid's selectionMode config was renamed to checkboxOnly, 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 for GridFieldFilterPicker and GridFieldFilterPickerGroup widgets has changed from array of FieldOptions to Object map of FieldOptions 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 configured grid'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

  • #3213Cmd/Ctrl + Right click weird behavior
  • #3733selectedRecords 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
  • #5992Checkbox column background color to bright in Classic-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
  • #6207Treegrid cut operation optimization
  • #6208 – Row should be selected when clicking outside a checkbox in a checkcolumn cell
  • #6243reapplySortersOnAdd 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-17

FEATURES / 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 include AM/PM. Those browsers now use "thin space" (\u202f) instead of regular space. This affects the DateHelper.format() function, but likely you do not need to take any action in your application. It also affects DateHelper.parse(), which has been updated to support the new unicode space (#6193)

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
  • #6087Checkbox column state changed only on second click when its field is not defined in the Model
  • #6088CellEdit 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
  • #6144applyChangeset 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-30

FEATURES / 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 new fireRemoveEventForMoveAction on your tree store to false (#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
  • #5967TreeColumn needs separate renderer docs
  • #5970DragHelper is too eager stopping event propagation
  • #6004RowReorder and rowCheckboxSelection mode improvements
  • #6013 – Default 'sum' operation on aggregate columns does not sum decimal numbers
  • #6014 – Button menu listeners get duplicated when changing the menu
  • #6019TypeScript 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" in RowExpander
  • #6053 – Cut and paste within a tree crashes the grid
  • #6069 – Params lost if defined in class config

Version 5.2.8

2023-01-19

BUG 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
  • #5911FilterBar 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-11

FEATURES / ENHANCEMENTS

  • The updated tree demo shows using different Model 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 is YYYY-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
  • #5876fitMode generates unexpected result for ActionColumn
  • #5883 – Unexpected error with empty columns with specific configuration

Version 5.2.6

2022-12-28

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

FEATURES / ENHANCEMENTS

  • TreeStore now supports indent and outdent 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 to false giving the same behaviour as previously. But in 6.0, alwaysClearCell will default to true, requiring columns that relies on the previous behaviour to be configured with alwaysClearCell set to false

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 for AjaxStore
  • #5635LWC event in filterOnInput reports wrong target
  • #5646 – Selection column sometimes not draggable
  • #5647 – Columns sometimes collapse when resizing
  • #5674 – Combo not sized the same when editable vs non-editable
  • #5688LWC Cannot add property isActive, object is not extensible
  • #5692 – Combos should be able to share Stores
  • #5698 – Examples text overlaps
  • #5700FinalizeCellEdit launch multiple times when clicked outside of grid with non-resolved promise
  • #5706syncDataOnLoad + threshold, scroll error
  • #5730index 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-28

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #5594 – Grid splitter collapse/expand hover artefacts
  • #5595 – Fix panel collapse icon directions
  • #5617 – Collapsing locked subgrid not working if minWidth is set
  • #5620 – Sort & Filter icons not visible in grid column when there is not enough space and material theme is used

Version 5.2.3

2022-11-17

BUG FIXES

  • #5256 – FireFox doesn't have horizontal scrollbars in demos on Windows
  • #5518 – Undo does not recognise zero and null values as a change
  • #5537tabPanel.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-08

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

  • #5489 – Left region goes momentarily full width when resized to 0
  • #5490 – Readonly Grid with widget-type column makes buttons disabled
  • #5491onToolClick not working correctly (even with callOnFunctions: true)
  • #5531 – Column rename not compatible with Filter feature

Version 5.2.1

2022-10-28

API CHANGES

  • TreeNode.isRoot property is now public (#5471)

BUG FIXES

  • #4443MergeCells set true 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.
  • #5404TabPanel triggers focus error when removing tab
  • #5409Field's fetchInputValue ignores the inputValueAttr 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
  • #5451DatePicker animation glitch
  • #5463 – Crash when resizing code editor panel to small width
  • #5473TabPanel without tabs throwing an error
  • #5479 – An error when using remote filtering with syncDataOnLoad enabled
  • #5480EventHelper has globally visible breaking side effects

Version 5.2.0

2022-10-13

FEATURES / 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 pressing F2 (#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 the Responsive mixin now support a once property to allow configs to only be set on first activation of the state
  • The Core.helper.DateHelper class has a new method formatRange method which can format date ranges, as well as new formatting options for week numbers
  • The TreeGroup feature 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 setting enableDirectRendering config on the export feature to false. (#4449)
  • Added new GridFieldFilterPicker and GridFieldFilterPickerGroup widgets, providing UI to manage a set of CollectionFilters 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 native element.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-12

FEATURES / ENHANCEMENTS

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

BUG FIXES

  • #4645 – Improve error message "Bryntum bundle included twice"
  • #4654REACT Bryntum widget wrappers don't accept all component properties in React 18
  • #5341Picker is shown for Combo with keyStrokeFilterDelay after clearing value
  • #5343AggregateColumn not working if added after Grid is painted
  • #5348RadioGroup 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-29

FEATURES / ENHANCEMENTS

  • The RowReorder feature now has a dropOnLeaf config which in a TreeGrid 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

  • #227RowReorder: Not possible to drop a row as a child of an empty parent node
  • #4974AjaxStore continuously making remote requests after store grouping when sortParamName is set
  • #5031TypeScript 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
  • #5173FilterBar doesn't work for startDate/endDate columns when date has hour/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
  • #5213DatePicker can't move months if min date is after current date
  • #5214AjaxStore continuously making remote requests after store sorting with syncDataOnLoad set to true
  • #5217 – Update RowReorder SASS to facilitate custom theming
  • #5220 – Should be able to drop a row as a child of an another row
  • #5261StateProvider 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-09

BUG FIXES

  • #415 – Improve docs on formatting currency values on NumberField
  • #3680 – Support Salesforce Winter 22 release
  • #5096Datepicker year select doesn't allow to configure year options
  • #5125 – Setting an initial value for activeTab on a TabPanel 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
  • #5174RowExpander triggers an error when configured in Vue example
  • #5182TimeField should keep date if user types in the value
  • #5201Store sort uses localeCompare for non-string types

Version 5.1.2

2022-08-29

FEATURES / ENHANCEMENTS

  • Grid Columns now accept a cellEditor property as a config object to allow customization of the floating Editor Widget which encapsulates its editor 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 the Filter and FilterBar 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 to Partial<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 the TimeField. By default, it is false and sets date component of the field value to January 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
  • #4661OnToggle in the CheckColumn not working
  • #4929autoHeight cells with no content should not cause rows to collapse below the configured rowHeight
  • #4946 – Mask is not aligned properly to the grid body if bbar is enabled
  • #4999AjaxStore beforeRequest doesn't allow to make changes in request body
  • #5010 – Group expanders still visible after stopping grouping
  • #5017TypeScript Property type is missing in DataFieldConfig
  • #5018Vue Prop Validation fails for String options
  • #5026 – Auto filled combo in filter bar does not select picked values
  • #5067readOnly disables Slider fields and makes them unfocusable
  • #5072grid.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
  • #5104Docs Wrong docs for toggleCollapse function in Group feature

Version 5.1.1

2022-07-28

BUG FIXES

  • #4637mergeCells is not reactive to row height
  • #4798 – Grid row freezes when reordering multiple rows
  • #4979 – Some keys do not work in cell editor

Version 5.1.0

2022-07-21

FEATURES / 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 as dock: string is now dock : '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 to Widget and therefore available to all Widget's child classes. There is a new guide **Guides/Customization/Keyboard shortcuts** describing how to customize currently integrated keyboard shortcuts (#4300, #4313, #4328)

API CHANGES

  • DEPRECATED The breakpoints config of the Core.widget.mixin.Responsive mixin is deprecated in favor of its new responsive config. The responsive config is more easily customized when used in the default configuration of widgets
  • DEPRECATED The responsiveWidthChange and responsiveHeightChange events of the Core.widget.mixin.Responsive mixin are deprecated in favor of its new responsiveStateChange 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 is grid.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-13

FEATURES / 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
  • #4865LWC Exception when clicking on modal over the component
  • #4871 – Error when committing changes with nested responseDataProperty path
  • #4872 – Aborted fetch should reject the promise
  • #4874WidgetColumn should be readOnly if record is readOnly
  • #4879 – Grid Vue demo error rendering
  • #4915 – Cell tooltip remains when hovering over blank cells
  • #4916Fullscreen is not working on mobile Safari

Version 5.0.6

2022-06-20

BUG FIXES

  • #841 – Add searchAllRecords flag to store search functions
  • #4146TaskEditor clears time when editing events with datetime picker
  • #4254 – Grid with checkbox column should be readonly if bound to a data field and cellEdit is not enabled
  • #4750 – Splitter overlays bbar
  • #4755 – Wrong element focused if tabbing over cells where beforeCellEditStart returns false
  • #4778 – Body mask now tracks grid resize to maintain cover of the body
  • #4779 – Crash when adding empty bbar
  • #4788GridRow Chevron Stops Responding on Touch Device with 5.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-30

FEATURES / ENHANCEMENTS

  • Added paste and copy events to the RowCopyPaste feature (#4552)
  • Added filterStyles config to the PdfExport 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
  • #4545LWC Columns and row reordering features don't work
  • #4567 – Using too new replaceChildren API in Row
  • #4607VUE 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
  • #4638mergeCells causes fail in export

Version 5.0.4

2022-05-11

API CHANGES

  • Container's autoUpdateRecord config was made public. Set it to true to update record fields when child fields change (#4073)
  • Model's clearChanges function parameter includeDescendants made public. Set it to false to not clear changes on a node's descendants (#4565)

BUG FIXES

  • #3930 – Exception when collapsing tree scrolled to the bottom
  • #4294 – Not possible to reach horizontal time axis scrollbar
  • #4541 – Grid splitter too dark in Stockholm theme
  • #4559 – Grid region splitter buttons not centered
  • #4562REACT React wrappers have incorrect source mapping urls

Version 5.0.3

2022-04-26

FEATURES / ENHANCEMENTS

  • AggregateColumn now has a includeParentInChangeSet 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 to false). When set to true, the events fired by stores are relayed to the Bryntum Grid instance
  • REACT React wrappers now include TypeScript definitions (#3378)

BUG FIXES

  • #100 – Splitter has wrong color
  • #4127LWC DomHelper.isInView() throws
  • #4222LWC Performance degradation in 5.0 release
  • #4289 – Using TreeGroup modifies tasks
  • #4324 – Widget column with button doesn't pass text into child widget
  • #4432LWC Mouse events do not work
  • #4459 – Bryntum Grid search feature limited to 1000 matches
  • #4461Vue wrapper triggers doubled dataChange events with different params
  • #4496createOnUnmatched 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-13

API CHANGES

  • Deprecated showByPoint() in Widget, it will be removed in version 6.0. Use showBy() 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
  • #4134REACT 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() with replace: true

Version 5.0.1

2022-03-04

BUG FIXES

  • #4246 – Docs splitter is too wide when hovered
  • #4249DateTimeField does not update if required
  • #4270CellTooltip should not cache async fetched cell content
  • #4278cellContextMenu 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-21

We 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 name product.theme.thin.cssgrid.stockholm.thin.css for example. They are intended for using when you have multiple different bryntum products on the same page, to avoid including shared CSS multiple times Read more about it in the What's new section in docs (#3276)
  • Using the new MergeCells feature and the corresponding mergeCells 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 new merge-cells demo (#196)
  • A new deselectOnClick config was added to GridSelection to allow single click toggling of a row / cell selected state (#3577)
  • Model has a new readOnly field that is respected by UI level editing features to disallow editing records having readOnly : true. It does not directly affect the datalayer, meaning that you can still programmatically edit the records (#665)
  • 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 new tree-grouping demo (#3543)
  • window references are replaced with globalThis which is supported in all modern browsers and across different JS environments (#4071)
  • A new function called downloadTestCase() was added to Bryntum widgets, it is intended to simplify creating test cases for reporting issues on Bryntum's support forum. Running it collects the current value for the configs your app is using, inlines the current dataset and compiles that into a JavaScript app that is then downloaded. The app will most likely require a fair amount of manual tweaking to reproduce the issue, but we are hoping it will simplify the process for you. Run grid.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 and remove events now only include parent 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 for Model#copy() – previously replaced by separate deep argument
  • Config DateDataField#dateFormat – previously replaced by format config
  • Config ContextMenuBase#menuConfig – previously replaced by menu config
  • Function ObjectHelper.allKeys() – previously replaced by keys() function
  • Function StringHelper.capitalizeFirstLetter() – previously replaced by capitalize() function
  • Function StringHelper.lowercaseFirstLetter() – previously replaced by uncapitalize() function
  • Argument config.elementfor ScrollManager#startMonitoring() – previously replaced by config.scrollables arg
  • Config Button#menuIconCls – previously replaced by menuIcon config
  • Config Tooltip.html no longer handles returning false as a way of flagging the tooltip content as async – previously replaced by the showAsyncMessage config
  • Param record of the Store#move event – previously replaced with the records param
  • Old TreeNode#insertChild() signature – previously replaced with current (childRecord, before, silent) signature
  • Argument returnAll for DomHelper.createElement – previously replaced by options.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 from CellTooltip#tooltipRenderer no longer flags it as async – previously replaced with returning a Promise
  • ContextMenu feature – previously replaced by HeaderMenu and CellMenu features
  • Param record of all RowReorder events – previously replaced by records
  • Event Grid#beforeExport – in favor of beforePdfExport event (#3240)
  • Event Grid#export – in favor of pdfExport event

BUG FIXES

  • #758 – State mixin to use configurable's onConfigChange hook
  • #1404 – Tapping cell should select row, not start cell editing
  • #3088ColumnStore 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 is true
  • #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-17

BUG FIXES

  • #4127LWC DomHelper.isInView() throws in Salesforce
  • #4130 – fi-FI locale uses \u2212 as the negation symbol which won't parse
  • #4131DurationField uses wrong unit after clearing and using step trigger
  • #4170Column interface is missing static get type()
  • #4195AjaxStore loads despite autoLoad being false when filterBar used and there is a configured filter
  • #4201 – Cannot load non-extensible data objects with transformFlatData
  • #4209transformFlatData not working if children : true is present

Version 4.3.8

2022-02-07

BUG FIXES

  • #4098AggregateColumn doesn't gather all child node values, so can calculate inaccurately
  • #4108 – Combo should expand when clicking empty space if editable is false + multiSelect
  • #4119 – Wrong position of cell editors in scrolled subgrids

Version 4.3.7

2022-02-02

FEATURES / ENHANCEMENTS

  • CellEdit autoEdit now leaves editing state after pressing Enter, you can control this behavior with the new editNextOnEnterPress 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 and export events (triggered by PdfExport feature) were deprecated in favor of the beforePdfExport and pdfExport 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
  • #4029autoEdit should not react when CTRL / CMD key is used to copy & paste
  • #4030RowCopyPaste broken
  • #4041TextArea ignores arrowDown key press
  • #4051CellTooltip 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-13

FEATURES / ENHANCEMENTS

  • Clearing and changing the content of a TreeStore is much easier and faster now using the clearChildren and replaceChildren API of the TreeNode class. Changing the column set of a Grid should use these APIs on the store's rootNode
  • The Grid now fires beforeRenderRow and renderRow 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
  • #3897TypeScript 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-24

BUG FIXES

  • #2944transformFlatData not compatible with syncDataOnLoad in a tree store
  • #3752 – Restoring state after filterBy on grid (or scheduler) crashes
  • #3863 – Export server executable for windows does not work
  • #3896TypeScript Wrong typings of model class configs
  • #3902AjaxStore re-requests the current page if the pageStartParam being requested is zero
  • #3906 – When using selection mode rowCheckboxSelection overrides checkbox property
  • #3907TypeScript Cannot pass Scheduler instance to Store.relayAll
  • #3908 – ActionColumn: tooltip not displayed when using rendered config
  • #3909showCheckAll config in CheckColumn not working
  • #3910 – Error when collapsing expanded nodes in TreeGrid with empty children array
  • #3912Grid.column.ActionColumn renderer not working
  • #3928 – DateHelper k format behaves incorrectly
  • #3938revertChanges not working for number column having an undefined value

Version 4.3.4

2021-12-13

FEATURES / ENHANCEMENTS

  • Updated angular-renderer Angular demo to use Angular 13 (#3742)
  • RowReorder gridRowBeforeDropFinalize and gridRowDrop events now include information about the original position of the dragged tree nodes when reordering nodes in a tree grid (#3810)

BUG FIXES

  • #3621TypeScript Improve typings of mixins
  • #3816move event is not triggered when moving a node in a TreeStore
  • #3850TypeScript Missing static properties in typings
  • #3853 – Cannot set row height for scheduler webcomponent
  • #3855 – Setting a ModelDataField in a record could recurse infinitely

Version 4.3.3

2021-11-30

FEATURES / ENHANCEMENTS

  • Grid´s ColumnReorder feature now fires beforeColumnDragStart, 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

  • #3616Filter bar field remains after hiding a column
  • #3630 – Whitespace seen when adding many new rows quickly
  • #3637 – When tooltip uses a forSelector and trackMouse, moving within its active target
  • #3648DOCS 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
  • #3707ExcelExporter export method should return a Promise
  • #3710 – Allow to configure dragTouchStartDelay for RowReorder feature
  • #3743DOCS 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-29

FEATURES / ENHANCEMENTS

  • RowCopyPaste feature now fires beforeCopy and beforePaste events to let you prevent the actions (#3303)

BUG FIXES

  • #3611CellEdit does not tolerate dot delimited field names in accord with how its host Grid does
  • #3616 – Filter bar field remains after hiding a column
  • #3622 – Edited cell is not marked when initial cell value is 0 or undefined

Version 4.3.1

2021-10-21

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

FEATURES / 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 the examples/widgetcolumn example
  • Panels can now be collapsed when configured as collapsible (#914)
  • BREAKING @babel/preset-env config target chrome: 75 is now used for the UMD bundle. This decreases bundle size and improves performance for modern browsers (#3201)
  • Legacy Angular demos for versions 1-5 were removed due to incompatibility with the new UMD bundle format

API CHANGES

  • DEPRECATED Buttons menuIconCls config was deprecated in favor of the new menuIcon config, which better matches the naming of other configs

BUG FIXES

  • #3480 – Make dataChange event work for Grid
  • #3511 – Crash when adding a new column to a grid starting out with no columns

Version 4.2.7

2021-10-01

FEATURES / 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 grid collapsed state (#3459)
  • ComboBox can now be configured to accept unmatched typed filter strings to create a new record. Use the createOnUnmatched config to enable this. This may be configured as a function to create the new record in an app-specific way (#3249)

BUG FIXES

  • #3272 – Expanding last node sometimes doesn't increase scroll size
  • #3415 – Generate unique phantom ids across all stores
  • #3439 – Filtering out all child rows should hide parent row chevron icon
  • #3443 – Not possible to use filter feature with grouped headers in grid
  • #3458 – Document nested fields

Version 4.2.6

2021-09-15

FEATURES / ENHANCEMENTS

  • You can now control if the widget tooltip should be shown when the widget is disabled using the showTooltipWhenDisabled config

BUG FIXES

  • #3145 – Adding filters shows wrong date filter value
  • #3179 – Tooltip is not shown for a disabled button
  • #3387 – Group header incorrect when showing summary in header
  • #3408 – Updated typings to support spread operator for method parameters

Version 4.2.5

2021-09-08

FEATURES / ENHANCEMENTS

  • The GroupSummary feature has a new config (and property) called target 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 updated groupsummary 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 or Date but always outputs a Date (#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-27

BUG 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-05

FEATURES / 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. Use export 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-21

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

FEATURES / ENHANCEMENTS

  • FRAMEWORKS Added rowCopyPasteFeature to frameworks wrappers (#3135)

BUG FIXES

  • #3043 – syncDataOnLoad does not work correctly with trees
  • #3136NPM Running npm install twice creates modified package-lock.json file

Version 4.2.0

2021-06-30

FEATURES / 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 to Core.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 bubble change 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 on window. 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-23

FEATURES / 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
  • #3005VUE-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
  • #3026VUE-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-09

FEATURES / ENHANCEMENTS

  • Grid now has a minHeight of 10em 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 default minHeight is driving the height, a warning is shown on the console to let the dev know that sizing rules are missing. The warning is not shown if a minHeight is explicitly configured (#2915)
  • TYPINGS API singleton classes are correctly exported to typings (#2752)

BUG FIXES

  • #2724 – CellEditor won't close properly after invalid search in combo list
  • #2757 – React and Vue column renderers do not sync the value
  • #2985 – RowReorder drag proxy element misplaced
  • #2990ANGULAR Preventable async events don't work

Version 4.1.4

2021-05-28

FEATURES / 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
  • #2908ANGULAR 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.