v0.4.1
Significant changes
- dgrid now requires Dojo 1.8.2 or higher, due to its dependence on a feature test added to the
dojo/dom
module. Users of 1.8.0 or 1.8.1 are highly encouraged to update. - dgrid now requires dstore 1.0.3 or 1.1.1 at minimum, due to fixes to API issues found and addressed while simplifying dgrid code to always expect promises from dstore APIs.
- Exposed the prefix used for auto-generated IDs via
List.autoIdPrefix
, allowing it to be overridden. (#1047) - The promise returned by
_StoreMixin#save
now resolves to an object with a key for each ID saved, mapping to the value returned by theput
call for each ID. This change should be backwards-compatible, since previously the promise resolved toundefined
and was only useful for timing. (#655, thanks @josch1710) - The
Tree
mixin now adds adgrid-row-expandable
class to rows of parent items. (#1144) - The
Tree
mixin no longer throws an error if an instance is created with nocollection
immediately assigned. (#614, thanks @edhager) - The
DijitRegistry
extension now supportsplaceAt
the same way that any Dijit widget does. (#1135) - The
util/misc.contains
function has been deprecated, as only one of its code paths was ever being used. UseNode#contains
instead.
Additional fixes
General/Core
- Fixed a regression involving missing focus rectangles in Firefox.
- Fixed an issue with
List
not passingoptions
through toremoveRow
frominsertRow
, which primarily affectedTree
. (#510, thanks @maier49) - Fixed an issue with
_StoreMixin
unnecessarily reacting to collection notifications beforestartup
. (#1199, thanks @edhager) - Fixed an issue with
OnDemandList
causing it to load and render rows for all store items if it computes their row height to be 0, such as if anOnDemandGrid
has no columns. (#965) - Fixed an issue with
OnDemandList
's store tracking logic which caused off-by-one errors, leading to incorrect re-rendering. (#1156, thanks @dmartinzar) - Fixed issues with some of the store unit tests so that they pass for the right reasons and don't fail when run against dstore 1.1.0. dgrid itself is functioning as it should with dstore 1.1.0 in our testing.
- Various documentation improvements
Mixins
- Fixed a regression with the
ColumnSet
mixin in IE8 where its horizontal scrollbars would not be displayed, and tweaked a selector to avoid acme causing IE8 to crash. - Fixed an issue with the
ColumnSet
mixin which would cause errors if scroll wheel or touch events occurred over empty space in the grid's body. (#1179, thanks @msssk) - Fixed an interoperability issue between the
ColumnSet
andTree
mixins involving scroll positions of column sets falling out of sync. (#1137, thanks @jdonaghue) - Fixed an interoperability issue involving
ColumnSet
not properly passing alongoptions
increateRowCells
. (Discovered via #1232; thanks @edhager) - Fixed an issue in the
Editor
mixin in IE when the grid is refreshed while aneditOn
editor widget is active. (#1100, thanks @maier49) - Fixed an issue with
Editor
unintentionally carrying validation state between activations of a shared editor. (#1193, thanks @msssk) - Fixed issues with
Editor
listeners not being cleaned up at the appropriate time. (#1211, thanks @maier49) - Added logic to the
Keyboard
mixin to ensure that the entire column for the currently-focused cell is within view. (#1086) - Fixed an Edge-specific issue in the
Selection
mixin regarding preventing text selection. (#1203) - Fixed an issue with the
Selector
mixin which caused double-triggering of selector checkboxes via space keypress when a checkbox is focused. (#731, thanks @msssk and @maier49) - The
Tree
mixin now resets the expanded state of items when they are deleted from the collection. (#997, thanks @maier49) - Fixed an issue with the
Tree
mixin which, in combination with a bug in dstore, could lead to incorrect sorting of child items. (#1130, thanks @msssk) - Fixed an issue with the
Tree
mixin'stransitionend
event handling, which could cause grandchild containers to expand to the wrong height. (#1069, thanks @jbomer, @bogool, @kriszyp) - Fixed an issue in how the
Tree
mixin wrapsrenderCell
, which would cause duplicate expando nodes if the column structure is re-processed (e.g. when columns are reordered withColumnReorder
). (#1157, thanks @dmartinzar) - Additionally, fixed
Tree
binding duplicate handlers. (#1215, thanks @edhager) - Fixed a regression involving styles for the
Keyboard
mixin in Firefox, where focus rectangles would not be displayed.
Extensions
- Fixed
ColumnHider#toggleColumnHiddenState
to not throw an error if it is called for a column withunhidable
set totrue
. (#1124) - Fixed
ColumnResizer
to avoid toggling sort when a column is resized down. (#1147) - Fixed
ColumnResizer
to account for hidden columns when performing initial calculations, to avoid errors. (#1187, thanks @maier49) - Improved behavior of the
DnD
extension when store requests fail, so that moving items between grids will not remove the item from the source if theput
on the destination fails, and errors will be reported via thedgrid-error
event. (#806 / #949, thanks @mercmobily) - Added logic to the
DnD
extension to automatically setallowNested: true
ifTree
is used, to allow children to be dragged/dropped. (#1241, thanks @edhager) - Fixed an issue with
Pagination
's status bar when the last item in the grid is removed. (#1192, thanks @maier49) - Fixed an off-by-one error in
Pagination
with regard to updating page navigation links relative to the collection'stotalLength
.
This release also incorporates improvements included in 0.3.17 that were not already present in 0.4.0.
A number of fixes/enhancements to the dgrid Laboratory are also included:
- Column properties are now pruned when their applicable features are disabled (thanks @edhager)
- Fixed an issue with the Tree mixin where the first column would not always properly default to showing the expand/collapse controls (thanks @edhager)
- You can now select
textarea
some basic Dijit form widgets for theeditor
column definition property (#1236, thanks @maier49) - Added a README oriented towards developers looking to understand the way the Laboratory code is structured (thanks @msssk)