Grid – Change Log

Version 5.2.4

2022-11-28

FEATURES / ENHANCEMENTS

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

BUG FIXES

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

Version 4.1.3

2021-05-13

FEATURES / ENHANCEMENTS

  • Improved PDF Export feature API. It exposes methods allowing to take control over requests and responses (#2726)
  • Grid's row checkbox selection with checkbox can now also select tree node children when a parent node is selected (#1951)
  • Column now has a 'tooltip' config for showing a tooltip when hovering the column header (#2794)
  • Bumped the built in version of FontAwesome Free to 5.15.3 and added missing imports to allow stacked icons etc
  • Bumped the @babel/preset-env config target to chrome: 75 for the Module bundle. This decreased bundle sizes and improved performance for modern browsers
  • Updated Angular Wrappers to be compatible with Angular 6-7 in production mode for target es2015

BUG FIXES

  • #2478 – Normal grid cannot be expanded after restoring its collapsed state
  • #2581 – PDF Export server doesn't load local resources via HTTPS
  • #2597 – Pointer position is out of sync with column right edge when reducing column width
  • #2694REACT Grid – column resizing broken
  • #2731 – Column drag proxy is misplaced in absolutely positioned web component
  • #2762 – TimeField step defaults to day unit
  • #2778 – Wrong module declaration in typings file
  • #2795 – Row selection lost after collapse / expand parent node
  • #2801 – Filter bar misrendered in docs example
  • #2816 – Not possible to use renderer on Checkbox column
  • #2856 – Column filter's "operator" argument never changes after setting

Version 4.1.2

2021-04-27

BUG FIXES

  • #2677 – Fixed improper toolbar overflow handling of buttons with menus

Version 4.1.1

2021-04-23

FEATURES / ENHANCEMENTS

  • Added new enableUndoRedoKeys config to Grid which triggers undo / redo upon pressing CTRL-Z key combination (#2532)
  • Popups can now be maximized to fill the visible viewport
  • New Vue 3 Vue Renderer demo
  • New Vue 3 TreeGrid demo
  • New config autoHeight on Tab Panel to set the height of all tabs to match the tab with the highest content
  • The Context menu base class (ContextMenuBase.js) now supports triggering a context menu to be shown programmatically using the new showContextMenu method
  • The summary feature now supports summing only selected rows (#2631)
  • Display field can now accept a template formatting its value, which can now also be markup (#2641)

BUG FIXES

  • #109 – Slider label should not have right margin
  • #491 – Store loadChildren should remove existing children
  • #1083 – Summary not updated after filtering with filter bar
  • #1339 – Issue when destroying the grid with custom React components
  • #1861 – Store filter method does not support nested fields
  • #1987 – DOCS: React guide needs a section on how to listen for events
  • #2293 – Search in a tree grid by a full matched string produces Object object in cell content
  • #2410 – List hide/show methods lose parent promises
  • #2482 – MultiSelect Combo set value doesn't work when configured filterSelected : true
  • #2542 – selectionMode with checkbox column does not handle selection mutating inside selectionChange listener
  • #2569 – Grid scroll not working after store.add when store is filtered
  • #2596 – Vue-3: Implement Vue component support for column (cell) renderer
  • #2616 – Varying padding-left in Panel
  • #2636WRAPPERS Features are not updated at runtime
  • #2659 – Context menus do not work with extra wrapper around lwc container element
  • #2671 – parentIndex field has incorrect value after clearing filters
  • #2678 – Column autoWidth and cell edit causes editor to be misaligned
  • #2679 – on-owner events should be added to owner too in docs
  • #2681 – Yarn. Package trial alias can not be installed
  • #2687 – Excel Export ignores nested fields
  • #2729 – Action Column Causes Grouping Header to Disappear

Version 4.1.0

2021-04-02

FEATURES / ENHANCEMENTS

  • We are happy to announce that Bryntum Grid now can be directly installed using our npm registry We've updated all our frameworks demos to use @bryntum npm packages. See them in examples/frameworks folder Please refer to "Npm packages" guide in docs for registry login and usage information
  • Added new Vue 3 Simple demo to show how to use Bryntum Grid in Vue 3 (#13155 – Implement demos with VUE 3 support)
  • Added new Vue Cell Renderer demo to show Vue Components as cell renderers (Partially fixed #946 – Vue: Support components in renderers)
  • Added new Bryntum Grid Big Dataset demo in React 17 demo . The example also implements theme switching (#1823 and #2213)
  • Bryntum demos were updated with XSS protection code. StringHelper.encodeHtml and StringHelper.xss functions were used for this
  • CellEdit#startEditing will now cancel any ongoing editing before starting the editing (previously just ignored this situation)
  • Model fields can now be marked with alwaysWrite to ensure important data fields are always included when updates are committed by an AjaxStore (#848)
  • Refactored TabPanel base class to Panel from Container. The Panel class's algorithm for handling docked items (such as tbar and bbar) was enhanced to work with the new tabBar config of TabPanel using the new strips config. The strips config is like tools except it is designed for toolbars. The items in strips have a dock config to specify the edge to which they dock ('top', 'left', 'bottom', or 'right') or, alternatively, 'header' or 'pre-header' to position the toolbar in the panel's header after or before the title, respectively. These items also use their weight config to determine their docking order. The higher the item's weight, the closer it will be to the panel's central body element (#1837)
  • Refactored the tab strip of TabPanel into a TabBar widget that extends Toolbar. This uses the new tabBar config of TabPanel to add an item to the new strips config of Panel. The tabBar uses its weight config to order it along with tbar and bbar of the Panel. The tabBar also inherits the overflow feature of Toolbar (#1827)
  • Panel now has a bodyCls config to place CSS classes on the body element
  • Summary feature now offers a refresh method to update summaries. See updated summary demo for sample usage
  • DatePicker now supports cellRenderer to output custom contents into the date cells (#2498)
  • showValue config of PercentColumn class defaults to false now
  • The ColumnPicker feature now has a new config, createColumnsFromData which means that data fields in the grid's model class are interrogated and new columns may be added from the column menu to represent those fields
  • It is now possible to use automatic height for cells, see the new autoHeight config on Column. Please note that enabling it comes with a pretty hefty performance hit, since all the cells has to be measured in DOM. Check it out in the new autoheight demo (#2236)
  • Widgets now offer requestFullscreen and exitFullscreen methods, which ensure tooltips and other floating sub-widgets will be visible while in fullscreen mode
  • CellEdits cancelCellEdit() method now includes an event parameter if the cancellation was triggered by a DOM event (#2311)
  • Column´s header text is now HTML encoded by default. Can be disabled by using the new htmlEncodeHeaderText config (#2765)
  • Added a compact mode to the FilterBar feature, that overlays the filtering fields on the headers (#2132)

API CHANGES

  • BREAKING Removed RequireJS demos and integration guides in favor of modern ES6 Modules technology (#1963)
  • BREAKING Angular wrapper onGridEvents event renamed to onCatchAll
  • BREAKING Angular wrapper feature names are now suffixed with Feature
  • BREAKING init method is no longer required in Lightning Web Components and was removed from the LWC bundle
  • DEPRECATED React, Angular, Vue wrappers gridInstance property renamed to instance
  • DEPRECATED The cellSelector param of the Grid cellClick / cellDblClick / cellContextMenu / cellMouseOver / cellMouseOut events was deprecated and will be removed in 5.0
  • DEPRECATED The Store move event's record property was deprecated in favor of records, but if the array form has been used, only contains the first record. This property will be removed in a future version
  • Internal DOM structure of the DatePicker header was refactored and simplified. This may affect your styling if you have relied on the presence of certain elements or CSS classes
  • DatePicker#editOnHover config was deprecated and it has no effect on the widget
  • Returning false from an on-function now prevents the listeners for that event from being triggered
  • The Store.move() API now accepts an array of records to move as well as a single record. The corresponding Store move event now has an extra records property referencing all records which have been moved

BUG FIXES

  • #400 – Tooltips and floating widgets are not visible if Scheduler is fullscreen
  • #876store.query should search through all records when searchAllRecords is true
  • #951 – Tooltips not shown for widgets inside a web component with shadow root
  • #1059 – Slider cannot be used as a widget in a column
  • #1525 – Improve Localization guide
  • #1689 – Investigate sharing static resource between multiple LWC on the same page
  • #1819 – DatePicker styling issues
  • #1893REACT JSX renderer not supported for TreeColumn
  • #2109 – Row selection in check column not possible if grid is readonly
  • #2153 – Select all checkbox in Check column does not react on click
  • #2194 – Setting title on item in a TabPanel now updates the text of the tab in the tab bar
  • #2211 – Add test coverage for XSS
  • #2225 – Store.originalCount should ignore special group records
  • #2235 – Number column does not accept key typed if its cell has the same value
  • #2285 – React Components not being rendered within Scheduler cells when columns are sorted
  • #2295 – Not possible to type in negative numbers to the number field
  • #2304 – CheckColumn does not respect "text" config
  • #2305 – Editing code in online demos throws error
  • #2306 – Grid#selectRow fails if first column is hidden
  • #2321LWC input arrows do not work
  • #2328 – Calling store.load on paged grid changes the page number
  • #2354 – Column filter icon tooltip displays the valueField instead of the displayField
  • #2359 – Update readme files in all framework demos in all products
  • #2367 – Bug when dragging child column to last index of its parent
  • #2379 – Add minified version of *.lite.umd.js to the bundle
  • #2384 – Child nodes loaded on demand are not sorted
  • #2385 – Keyboard Navigation Broken When Restoring Column Hidden State
  • #2390 – Support sorting after Store#add
  • #2407 – Grid/Scheduler not working in IE11
  • #2423 – Cannot define responsiveLevels in class definition
  • #2426 – Double clicking tree expander icon should not start editing
  • #2432 – Setting combobox value to non-matched value should sync input value to that value
  • #2435 – TabPanel issues
  • #2474 – Empty text not shown when using autoHeight
  • #2486 – Month/year picker is not aligned to date picker properly
  • #2505 – Clicking tree node expander icon should not focus row
  • #2511 – Applying empty store state doesn't clear filters/sorters/groupers
  • #2522 – Percent column never displays a value
  • #2526 – Grid CheckAll checkbox un-checks after drag and drop
  • #2527 – Inconsistent Behaviour with Select All when Collapsed Groups
  • #2531 – React JSX Column renderer buggy in grouping grid
  • #2539 – toggleNode event 'collapse' param showing is undefined
  • #2546VUE Widget column doesn't render widget after stopped grouping
  • #2547 – Vue dashboard demo visual issues
  • #2548VUE Cell renderer does not update on sort
  • #2551 – Removing row makes grid to render several empty lines

Version 4.0.8

2021-01-27

FEATURES / ENHANCEMENTS

  • Grid now exposes a firstVisibleRow and lastVisibleRow returning first/last visible row records in the grid viewport
  • Added sliding toggle widget, which is a styled checkbox (#2242)

BUG FIXES

  • #2195 – Action column buttons needs a softer color
  • #2223 – Static request params should be merged with params specified in URL
  • #2250 – Group Renderer does not allow direct changes to cellElement for feature config
  • #2260 – CheckColumn ignores headerRenderer
  • #2280 – Grid header is rendered incorrectly in LWC

Version 4.0.7

2021-01-12

FEATURES / ENHANCEMENTS

  • The params config of AjaxStore was made public (#2216)
  • DateField now supports entering of time if it is configured with keepTime: 'entered' and if the field format includes time info

BUG FIXES

  • #2127 – Unable to Edit Number Column Cell Decimal Values
  • #2135 – Template columns not rendering properly after grouping the grid
  • #2160 – ActionColumn action handler runs more than once
  • #2177 – Display of the date column filter tooltip is inconsistent
  • #2186 – "responsive" event is not fired for the smallest level on load
  • #2187 – Cell editing finalized after server response with autoSync
  • #2198 – Enter key should skip group header rows
  • #2207 – After removing last record in a group, the Group renderer is called for the empty group

Version 4.0.6

2020-12-29

FEATURES / ENHANCEMENTS

  • The Grid can now remove filtered out records from its row selection using the new selectionMode.deselectFilteredOutRecords flag (#2112)
  • ActionColumn is now usable when its Grid is readOnly, and its actions are optionally disabled based on the new disableIfGridReadOnly config value (defaults to false)

BUG FIXES

  • #1894 – Click on chapter works only first time
  • #1990 – Grid subclasses can now configure its store (e.g., modelClass) in its static get configurable()
  • #2039 – ordinalSuffix yields incorrect result for numbers ending with 11, 12, and 13
  • #2107 – Excel export fails to export while using groupSummary
  • #2115 – DurationField should respect useAbbreviation config
  • #2155 – Cell tooltip shows up empty sometimes
  • #2156 – ActionColumn crashes if Grid#hideHeaders is true
  • #2161 – Docs should handle URI encoding
  • #2168 – Grid title header misstyled like a column header
  • #2169 – Properties missing type in docs

Version 4.0.5

2020-12-15

FEATURES / ENHANCEMENTS

  • Added specific CSS class for ColumnPicker submenu – b-column-picker-menu (#2057)

API CHANGES

  • ContextMenu features now accept a menu config to merge into their default configuration for their Menus. The menuConfig property is deprecated in keeping with slimming our API footprint

BUG FIXES

  • #2049 – Allow overriding fields for filter feature on column basis
  • #2553 – Column.resizeToFitContent has poor performance with multiple columns

Version 4.0.4

2020-12-09

FEATURES / ENHANCEMENTS

  • A new config discardPortals on the React wrapper, that controls the behaviour of cell renderers using React components. Set to false (default) to enhance performance. Set to true to limit memory consumption
  • Added new Vue Export to Excel demo
  • Added new React TreeGrid demo
  • Custom sorting functions defined on columns (see Column#sortable) can now be applied when programmatically sorting the store by that columns field, see the new Sort#prioritizeColumns config (#1303)
  • Custom filtering functions defined on columns (see Column#filterable) can now be applied when programmatically filtering the store by that columns field, see the new Filter#prioritizeColumns and FilterBar#prioritizeColumns configs (#1925)
  • DurationField now offers min / max configs (#1997)

API CHANGES

  • CellEdit#doAddNewAtEnd method was made public by mistake, it is now private

BUG FIXES

  • #1754 – Click on Action Column items not triggering anything when cellEdit feature is disabled
  • #1812 – Make tables look better in docs
  • #1857 – Subgrid cannot be expanded after applying collapsed state
  • #1869 – Very low performance of React cell renderers
  • #1896 – Revise column state attributes
  • #1902 – Combo filter should use exact match for string values
  • #1917 – Field error tooltip contains wrong information
  • #1922 – Make public some API used by destroy
  • #1928 – Aligned Popups can lose their configurations on drag
  • #1936 – ENTER key on last row cell should add a new row if addNewAtEnd is enabled
  • #1946 – Multi sort UI is broken for Duration column (any column with sortable function)
  • #1957 – Date filter is applied incorrectly when restoring from state
  • #1988 – Docs left panel shrinks when filtered
  • #2026 – Row reorder broken when header menu is disabled

Older versions

  • Full release version history can be found here.