This document outlines changes since 0.3.0. For older changelogs, see the dgrid wiki.
- dgrid now uses Intern for unit and functional tests, instead of DOH. See the README for setup instructions.
- Fixed a regression with
OnDemandListwhich would cause improper rendering after scrolling. (#548) - Fixed an issue with
OnDemandListcausingqueryRowsOverlaponly taking effect between the first two queries. (#644) - Added the capability to opt out of custom TouchScroll logic on devices that
support touch, by setting
useTouchScroll: falseon the instance. (#656) - Fixed logic in
Grid,GridFromHtml, andselectorto allow specifying a blank label for a column by passing an empty string tocolumn.label. (#664)
- Fixed an issue in
ColumnSetmixin which affected horizontal scrolling at certain zoom levels on Chrome. - The
CellSelectionmixin now supports selecting or deselecting all columns in a row if a row object is passed. - Fixed a regression in the
Selectionmixin where unselectable rows could still be selected via ctrl+click.
- Reworked logic in
List#adjustRowIndicesto not skip updating row indices even whenmaintainOddEvenisfalse.
- The
SelectionandCellSelectionmixins no longer lose selection of rows when items are modified. Rows are still deselected if items are removed. (#226)
- Fixed issues in the
editorcolumn plugin regarding consistency of dirty data anddgrid-datachangeevent firing for always-on radio buttons. - Fixed an issue in the
editorplugin that caused errors in Chrome/Safari when an editor loses focus and hides due to clicking within the browser's UI controls. (#603) - Fixed an issue in the
editorcolumn plugin's cleanup logic which could occur when the loading node for a request is removed before the request completes. (#195)
- Fixed an issue with the
ColumnReorderextension involving grids whose IDs end with a hyphen followed by numbers. (#556) - The
ColumnResizerextension now properly calls the grid'sresizemethod, even on programmatically-triggered resize operations. - Added German localization for the
Paginationextension. (#657, thanks tryte)
- The
dgrid-sortevent now emits off of the original target of the event which triggered it, rather than always off of the header cell. (#539) - Fixed a regression (present since 0.3.5) in
OnDemandListwhich preventednoDataMessagefrom being displayed for async stores. (#519) _StoreMixin(used byOnDemandList,OnDemandGrid, andPagination) now supports calling thesetmethod of Stateful objects duringsave. (#563)
- Resolved an infinite-recursion regression in
selector, observable when used in conjunction with theColumnReorderextension. (#525)
- Fixed a regression in the
ColumnResizerextension where columns were no longer appropriately adjusted when the first resize occurred. (#526)
- Fixed issues in
OnDemandListand thePaginationextension wherenoDataMessagecould potentially appear multiple times for successive empty query results. (#542)
- Resolved an issue in the
ColumnSetmixin which caused some browsers to block clicks near the bottom of the grid when no ColumnSet scrollbars are shown. (#571)
- Resolved an issue in
selectorwhere selectors would not work in cases where the initial column structure did not contain a selector column, but the structure was later changed to include one. (#533) - Resolved an issue in
selectorwhere rows that should be unselectable were still selectable by clicking within the selector column. (#545)
- Revised the previous workaround for IE8 in the
ColumnHiderextension to an alternative which involves less code and avoids an issue when all columns are hidden. (#537) - The
DijitRegistryextension now implements theisLeftToRightmethod, to accommodate needs of Dijit layout widgets in Dojo 1.9. (#536) - The
DijitRegistryextension now implements thegetParentmethod, to accommodate e.g.dijit/_KeyNavContainer. (#538, thanks k2s) - The
Paginationextension now properly only shows page 1 once if there is only one page of results. (#520) - The
Paginationextension now properly initializes the page size drop-down based on the initialrowsPerPagevalue, if one matches. (#577, thanks Gordon Smith)
Gridnow supports theformatterScopeinstance property, along the same lines asdojox/grid. (#470; thanks gratex)Gridhas been refactored to includeformatterconsiderations within the defaultrenderCelllogic; this allowsformatterfunctions to coexist with theeditorandtreecolumn plugins. (#495, #497; thanks gratex)- Fixed an issue with
_StoreMixinwhich causedsetfunctions in column definitions to be ignored for all but the last subrow or columnset. (#489)
- Fixed a regression in the
Selectionmixin due to text selection changes, where Firefox would not allow selecting text or moving the cursor inside form inputs. (#492) - The
Selectionmixin no longer callsallowSelectfordeselectcalls (onlyselectcalls). This avoids potential errors when resetting column structures, and reduces unnecessary calls. - The
Selectionmixin has been refactored to break out logic for each selection mode to a separate method. These methods follow the naming convention_modeSelectionHandler(where "mode" would be the name of the mode). This allows custom selection modes to be added easily. - The
Selectionmixin now supports atogglemode, useful for touch input where holding a modifier key to deselect is generally not an option. - Fixed an issue with the
SelectionandCellSelectionmixins where callingdeselectwith a range would actually deselect the first target, then select everything else in the range. (#491)
- The
selectorplugin will now match its disabled state against theallowSelectmethod on the grid, as well as the column definition'sdisabledfunction. - The
treeplugin'srenderExpandofunction now receives a 4th argument: the object represented by the current row. (#427; thanks pags)
- The
ColumnResizerextension no longer emits superfluous events for all columns on the first resize. (#441) - The
DnDextension now inherits theSelectionmixin to guarantee resilient handling of drag operations where part of the selection has scrolled out of view and been unrendered. - The
Paginationextension now applies thedgrid-page-linkclass to all navigation controls (not just the page numbers), to make them distinguishable by something other than what tag they use. (related to #379)
- The
Listmodule'sstartupmethod now correctly checks_startedbefore callingthis.inherited. (Thanks dancrumb) - Fixed an issue in
Listwhich could cause errors on certain successive tree row removals/insertions. (#418, #467)
- The
ColumnSetmixin now adjusts the positioning of its scrollbars appropriately if the footer node is present. (#463) - The
CellSelectionmixin now properly deselects if an unselected cell within the same row as a selected cell is right-clicked. - Fixed issues with the
Keyboardmixin pertaining to resetting columns, or not setting them initially. (#494) - The
Keyboardmixin now ensures that if the header area is scrolled due to a focus shift, the body scrolls with it. (#474)
- Fixed an issue in the
editorplugin that caused checkboxes to fail to initialize values properly in IE < 8. (#479) - The
treeplugin no longer completely overwrites classes on the expando node when expanding/collapsing, so custom classes will be preserved. (#409)
- The
ColumnHiderextension now absolutely-positions the node for opening the menu, which ensures it is visible even on platforms with no vertical scrollbars. (#406) - The
ColumnHiderextension now relies on CSS to specify an icon, rather than using text to show a plus sign. The icon can be changed by overriding the background on thedgrid-hider-toggleclass. (#306) - Fixed issues in the
ColumnHiderextension involving redundant calls totoggleColumnHiddenState. (#464) - The
DnDextension now cleans references from the dnd source's hash whenremoveRowis called on the grid. (#335) - Resolved an issue in
Paginationwhere IE9+ would dispatch events to the wrong handlers after clicking one of the navigation controls. (#379)
The rows property of this event was removed to match the implementation
added to the Pagination extension, which does not include it. If a particular
row is needed, it can be resolved from the QueryResults included on the event
via grid.row(...).element.
- Added an index page to the test folder to browse the tests via a grid. (#407)
- Added a preliminary set of DOH tests to assist in spotting regressions. (#412)
- The
Keyboardmixin has been made significantly more extensible (#429):- Added
keyMapandheaderKeyMapproperties, which are object hashes whose keys are event key codes and whose values are functions to be executed in the context of the instance; if not specified, defaults (exposed viaKeyboard.defaultKeyMapandkeyboard.defaultHeaderKeyMap) will be used. - Added
addKeyHandler(key, callback, isHeader)method for registering additional keyboard handlers; this is usually easier than trying to overridekeyMaporheaderKeyMap.
- Added
- The
Keyboardmixin no longer emitsdgrid-cellfocusoutanddgrid-cellfocusinwhen spacebar is pressed. (#429)
- The
editorcolumn plugin now emitsdgrid-editor-showanddgrid-editor-hideevents when an editor witheditOnset is shown or hidden, respectively. (#424) - The
editorcolumn plugin now adds adgrid-cell-editingclass to any cell containing an active editor. (#442; thanks Brandano for the idea)
- The
Paginationextension now emitsdgrid-refresh-completelikeOnDemandList. (#188, #411)
- Fixed
Grid#styleColumn, which had broken in 0.3.5. (#408) - Fixed an issue with
Grid#cellspecific to when a cell object representing a header cell was passed in. (#429) - The
Keyboardmixin now properly handles Home/End keypresses. - Fixed logic in
_StoreMixinto work around a Dojo 1.8 bug withwhen, which could inappropriately mutate the return value of_trackError. (#411) - Fixed logic in
OnDemandListso that asynchronous errors duringrefreshare properly signaled via the promise it returns. (#411) - Added CSS to ensure that IE6 renders empty
OnDemandListpreload nodes with 0 height. (#429)
- The
editorplugin now supports widgets returning object values by comparing usingvalueOf. (#256, #304, #423) - The
treeplugin has been refactored to make use of theutil/has-css3module, rather than feature-detecting upon first expansion. (#416) - The
treeplugin now implementsexpandsuch that it will bail out if the target row is already in the desired state.
The newRow method in List, called in reaction to observed store changes,
has had its signature altered to match that of insertRow. Please note
that it is likely that newRow may be refactored out of existence in the future.
The Grid module now normalizes the columns instance property to an object
even when it is passed in as an array. This means that any code written
which accesses grid.columns directly will break if it expects it to maintain
the array structure that was originally passed in.
To compensate for this, get("columns") retains the previous behavior - it
returns columns as initially passed, except in the case where subRows is
passed instead, in which case it returns an object hash version of the structure
keyed by column IDs.
When updating to dgrid 0.3.5, make sure you also update your version of put-selector to 0.3.1 or higher (0.3.2 is the latest at the time of this writing). If you use cpm to update dgrid, this should happen automatically.
Listinstances will now clean up any styles added dynamically via theaddCssRulemethod; this also applies by extension toGrid#styleColumnandColumnSet#styleColumnSet. This may cause a change in behavior in some edge cases; the previous behavior can be obtained by passingcleanAddedRules: falsein the constructor arguments object. (#371)- The
upanddownmethods ofListwill now callgrid.rowinternally to resolve whatever argument is passed; theleftandrightmethods ofGridwill callgrid.cell. (Formerly these methods only accepted a row or cell object directly.) - The
Gridmodule now ensures that an object hash of the grid's columns is always available (see Breaking Changes above); this fixes issues when column IDs are explicitly set, but then couldn't be properly looked up against thecolumnsarray. - The
Gridmodule now emits adgrid-sortevent when a sortable header cell is clicked; this event includes asortproperty, and may be canceled to stop the sort, or to substitute alternative behavior. In the latter case, if updating the sort arrow in the UI is still desired, call theupdateSortArrowmethod and pass thesortvalue from the event. - The
OnDemandListmodule now supports apagingMethodproperty, which allows specifying whether to throttle or debounce scroll events. The default behavior has been changed from"throttleDelayed"to"debounce", which generally is capable of far reducing the number of store queries issued, moreso ifpagingDelayis increased (though its default remains the same). - The
OnDemandListmodule now supports akeepScrollPositionproperty, which will attempt to preserve scroll position between refresh calls. This can be set on the instance itself to affect all refreshes, or can be passed to therefreshmethod directly for a specific call. - The
OnDemandListmodule now returns a promise from therefreshmethod, which resolves when the grid finishes rendering results after the refresh. It also emits adgrid-refresh-completeevent, which includes both a reference to the QueryResults object (results) and the rendered rows (rows). In addition, thedgrid-errorevent now fires more consistently (both forOnDemandListandPagination).
- The
Selectionmixin now supports anallowTextSelectionproperty, allowing text selection within a List or Grid to be permitted or denied completely independently from theselectionModeproperty; default behavior is still to prevent unlessselectionModeisnone. Selection prevention itself has also been fixed to work in all browsers. (#148)
- Fixed a
treeregression since 0.3.2 involving only-child rows being misplaced upon observed changes. (#353)
- The
ColumnResizerextension now supports anadjustLastColumnflag; when set totrue(the default, and previous behavior), this will adjust the last column's width toautoat times where a column resize operation would otherwise cause column widths to stretch due to how browsers render tables. This can be set tofalseto purposely disable this behavior. - The
Paginationextension now returns a promise from therefreshandgotoPagemethods, which resolves when the grid finishes rendering results. Note that it does not (yet) emit an event likeOnDemandList. - The
Paginationextension now re-queries for the current page of data when the grid is notified of a store modification which affects the number of items currently rendered. (#283) - The
Paginationextension now supports ashowLoadingMessageproperty; by default (true), a loading node will be displayed whenever a new page is requested; if set tofalse, the grid will instead retain the previous content until the new data is fully received and ready to render. (#219) - The
Paginationextension now includes localized strings for the following languages:- French (#381, thanks mduriancik)
- Brazilian Portuguese (#376, thanks stavarengo)
- Slovak (#381, thanks mduriancik)
- The
DijitRegistryextension now supports dgrid components as direct children of common Dijit layout container widgets, and will now properly alter the size of a list or grid if theresizemethod is passed an argument. (#401)
- Resolved an issue where upon changing column structure, the placement of the sort arrow would be lost even though the grid is still sorting by the same field.
- Simplified logic in
Gridto always createtrelements. (#387) - Resolved an issue where
OnDemandListcould end up firing requests where start exceeds total and count is negative. (#323) - Resolved issues regarding proper handling of errors / rejected promises in
OnDemandListas well as thePaginationextension. (#351; obsoletes #241, #242) - Resolved potential memory leaks in
Grid,ColumnSet, andColumnResizer. (#393, #394, #395, #396, #397) - Resolved issues in
Grid,ColumnSet,ColumnHider, andColumnResizerregarding dynamic style injection for grids with DOM node IDs containing unsafe characters; addedescapeCssIdentifierfunction toutil/misc. (#402) - Resolved an issue in
TouchScrollwhich unnecessarily prevented native touch-scrolling even when the component can't be scrolled. (#344)
- Resolved an issue with the
ColumnSetmixin where clicking within the horizontal scrollbar area (aside from the arrows/handle) wouldn't work in IE. (#307) - Improved logic of
isSelectforSelectionandCellSelectionregarding unloaded rows/cells in combination with the select-all feature in some cases. (#258)
- Resolved an issue where
ColumnHiderwould leave styles applied for hiding columns, which could have adverse effects if a new grid is later created with the same ID. (#371) - Resolved an issue with
ColumnHiderwhich could cause the hidden state of columns to be forgotten when other components such asColumnReorderinteract with the column structure. (#289) - Resolved an issue with
ColumnHiderrelated to IE8 standards mode's handling ofdisplay: nonecells. (#362) - Resolved an issue where widths set via the
ColumnResizerextension would be reset upon rearranging columns with theColumnReorderextension. - Resolved an issue in
ColumnResizerstyles which caused body and header cells to skew in Chrome 19 and Safari 6. (#142, #370) - Changed name of private
_columnStylesobject used by theColumnResizerextension to_columnSizesto reduce ambiguity. - The
Paginationextension will no longer immediately throw errors if it is initialized without a store. However, a warning will be logged, and any method calls will likely throw errors until a store is assigned. (#355)
- The
ColumnResizerextension now emits adgrid-columnresizeevent when a resize occurs; if initiated by the user, the event will include aparentTypeproperty indicating the type of event that triggered it. If this event is canceled, the column will not be resized. (#320) - The
ColumnResizerextension now honors awidthproperty included on column definition objects for the purpose of initializing the width of a column; this can be useful if it is desired to persist and restore custom column widths from a cookie or other local storage. (#321) - The
ColumnResizerextension now honors aresizableproperty included on column definition objects for the purpose of disallowing resize of specific columns. (#325)
- Resolved an issue in
Listrelating to scrolling and preload nodes. (#318, #323)
- The
ColumnSetmixin now supports horizontal mousewheel events. (#239)
- The column plugins (
editor,selector, andtree) can now be invoked without a column definition object at all, if no properties need to be set. This is mostly useful forselector. (#324) - Fixed an issue with the
selectorplugin when a column definition lacks alabelproperty. (#324) - Always-on
editorcolumns now honor thecanEditfunction on column definitions at the time each cell is rendered. - Always-on
editorcolumns now properly revert values if thedgrid-datachangeevent is canceled. (#252)
- The
ColumnResizerextension's resize indicator now follows the cursor even when dragging beyond the grid's boundaries, and reacts if the mouse button is released even outside the boundaries of the browser window. (#310)
- The
Keyboardmodule'sdgrid-cellfocusinanddgrid-cellfocusoutevents now report either aroworcellobject, depending on whethercellNavigationisfalseortrue, respectively. (Formerly these events always contained acellproperty pointing to the DOM node that fired the event.) - Several mixin and extension modules have had their
declarehierarchies simplified under the expectation that they will always be mixed in as documented, and never be instantiated directly. To be clear, this will not break any code that is written as prescribed by the documentation.
- All custom events fired by dgrid components now report the following properties:
grid: The dgrid instance which fired the event.parentType: If the event was fired in direct response to another event, this property reflects the type of the originating event. If the event was fired due to a direct API call,parentTypewill not be defined.
- The
ColumnReorderextension now fires adgrid-columnreorderevent when a column is reordered via drag'n'drop. Note that this event always reports aparentTypeof"dnd"(there is no way to trigger this event directly from an API call). - The
Paginationextension now exposes and references its i18n strings via thei18nPaginationinstance property, allowing these strings to be overridden. (#225)
- Fixed an issue with the
upanddownmethods inListand theleftandrightmethods inGrid, which could cause them to attempt to traverse outside the list/grid in question. - Fixed an issue in the observer code in
Listwhich could cause an updated row to render out-of-sequence whentreeis used. (#154) - Fixed an issue that could cause old IE to throw errors due to an undefined
parameter to
insertBefore. (#308) - The
_StoreMixinmodule now shows/hides a node displayingnoDataMessagein reaction to the last row being removed or first row being added. (#229) - The
OnDemandListmodule now adheres more strictly to themaxRowsPerPageproperty. To accommodate this, the default has been increased from100to250. (#280) - The
OnDemandListmodule's default value forfarOffRemovalhas been lowered from10000to2000. - The
loadingMessageproperty (referenced byOnDemandListand thePaginationextension) now supports HTML strings, likenoDataMessage(#312) - The CSS for one of the
util/has-css3module's tests has had its class renamed to prevent conflicting with users of Modernizr. (#313)
- The
Selectionmixin in single-selection mode now properly allows reselecting a row that was deselected immediately prior. (#295)
- The
ColumnHiderextension will now resize its popup element and enable scrolling within it, in cases where its height would otherwise exceed the that of the parent grid. (#311) - The
Paginationextension now supportsnoDataMessagelikeOnDemandList. (#180)
The GridFromHtml module no longer automatically mixes in the OnDemandGrid
module, mixing in only Grid instead, in order to support the option of using
alternative store-backed mechanisms such as the Pagination extension.
This may cause existing code which relied on GridFromHtml and loaded from a
store to break. Such cases will now need to mix in OnDemandList manually
(they don't need to mix in OnDemandGrid, since Grid is still inherited by
GridFromHtml).
There are a couple of ways to deal with this. In Dojo 1.8, when parsing dgrid
instances declaratively, the new data-dojo-mixins attribute can be used to
mix OnDemandList into GridFromHtml:
<table data-dojo-type="dgrid/GridFromHtml" data-dojo-mixins="dgrid/OnDemandList" data-dojo-props="...">
...
</table>In the case of Dojo 1.7, dojo/parser doesn't understand module IDs, and so a
global reference to the dgrid components used is needed. Changing such code to
mix in OnDemandList involves nothing more than an additional use of declare:
<table data-dojo-type="dgrid.OnDemandGridFromHtml" data-dojo-props="...">
...
</table>
...
<script>
var dgrid = {}; // declared in global scope
require(["dojo/_base/declare", "dojo/parser", "dgrid/GridFromHtml", "dgrid/OnDemandList", ..., "dojo/domReady!"],
function(declare, parser, GridFromHtml, OnDemandList, ...) {
// Create dgrid constructor with necessary components, available in the global scope.
dgrid.OnDemandGridFromHtml = declare([GridFromHtml, OnDemandList]);
// Parse the document, now that the above constructor is available.
parser.parse();
});
</script>- All dgrid components now have
scrollToandgetScrollPositionmethods, either inheriting fromTouchScroll(see below) or implemented inListbased onscrollTopandscrollLeft. Updates have been made to dgrid components where necessary to leverage these methods. - All dgrid components now respond to
set("showFooter")consistently withset("showHeader"). (#284) - It is now possible to initialize or later set CSS classes on a dgrid component's
top DOM node via
"class"orclassName. (#183) _StoreMixin(used byOnDemandListand thePaginationextension) now includes a reference to the grid instance in emitteddgrid-errorevents (via agridproperty on theerrorobject).- The
TouchScrollmodule has undergone significant changes and improvements:- uses CSS3
translate3dto take advantage of hardware acceleration- a
util/has-css3module has been added with has-feature tests to detect CSS3 features to be used byTouchScroll
- a
- implements increased tension and bounce-back beyond edges
- displays scrollbars as appropriate while scrolling
- implements
scrollToandgetScrollPositionmethods to allow manipulation and retrieval of scroll information based on CSS transformations - allows configuring how many touches are necessary to activate scrolling,
via the
touchesToScrollproperty
- uses CSS3
- The
ColumnSetmixin now defines astyleColumnSetmethod, which is analogous to Grid'sstyleColumnmethod, but instead adds a style rule for the class on nodes containing the entire columnset contents for a row. - The
Keyboardmixin now definesfocusandfocusHeadermethods, for programmatically focusing a row or cell (depending on the value of thecellNavigationsetting). (#130)
- The
treecolumn plugin now supports acollapseOnRefreshproperty in the column definition; if set totrue, it will cause all parent rows to render collapsed whenever the grid is refreshed, rather than remembering their previous state. - The
treecolumn plugin now supports aallowDuplicatesproperty in the column definition; this can be set totrueto allow for cases where the same item may appear under multiple parents in the tree. Note however that it limits the capabilities of therowmethod to the top level only. (#147)
- A
CompoundColumnsextension has been added, which allows defining column structures which include additional spanning header cells describing the contents beneath. - The
ColumnHiderextension has undergone some refactoring to make it more extensible and to provide a public API for toggling the hidden state of a column, via thetoggleColumnHiddenState(columnId)method. - The
ColumnReorderextension has been refactored to allow reordering of columns within the same subrow or columnset in more complex column structures, in addition to the previous ability to reorder columns in simple single-row structures. - The
DnDextension now properly supports touch devices when used with Dojo 1.8. - The
DnDextension now supports specifying agetObjectDndTypefunction, for customizing the DnD type reported for each item rendered.
- Several accessibility issues have been addressed, including fixes to the roles reported by certain elements, and labels added to the Pagination extension's controls. (Partly attributed to #273)
Grid: calls tocellwith a falsycolumnIdvalue now work properly. (#198)- Fixed an issue with dgrid instances not reacting correctly to window resize.
- Fixed an issue affecting odd/even row classes on in-place updates. (#269)
- Fixed a rendering issue involving confusion of preload node dimensions. (#161)
- Fixed an issue causing
treelevel indentation to render improperly when used with thePaginationextension. - Fixed a deprecated API call in
_StoreMixin. (#272) - Improved logic in
OnDemandListto properly account for lists with displays which tile items usingdisplay: inline-block.
- The
ColumnSetmixin now behaves properly when callingset("columnSets", ...). (#202) - The non-standard
colsetidattribute assigned to nodes by theColumnSetmixin has been replaced with thedata-dgrid-column-set-idattribute. - The
Selectionmixin will now properly reset_lastSelectedwhenclearSelectionis called. (#175) - The
Selectionmixin will now wait untilmouseupwhen handling mouse events on targets that are already selected. (#251)
- The
expandmethod defined by thetreecolumn plugin will no longer be called at all in reaction to events on rows which report no children.
- The
ColumnHiderextension now supports settinghiddenandunhidabletogether, resulting in the column being hidden and not being present in the popup menu (but it can still be shown programmatically). (#199) - The
ColumnHiderextension now behaves appropriately for columns with nolabeldefined. (#244) - A number of protected members in the
ColumnHiderextension have been renamed:_toggleColumnStatehas been replaced by_setColumnHiddenStateand the public APItoggleColumnHiddenStatementioned above_toggleHiderMenuhas been renamed to_toggleColumnHiderMenu_columnStyleRuleshas been renamed to_columnHiderRules
- An issue with the
ColumnResizerextension which could cause distortion of width values on the first resize has been fixed. (#291) - The
DnDextension can now drag non-root tree items in Dojo 1.8 only by passingallowNested: trueto the source viadndParams. (#68) - The
DnDextension now behaves better with regard to synchronizing with dgrid'sSelectionmixin, and also with regard to dragging when some selected nodes are no longer in the DOM. (#185, #246) - The
DnDextension now adds CSS to adequately override spurious styles which can leak in from dijit.css in Dojo 1.8. (#255)
- Column plugins can now define the following functions on column definitions,
providing more opportune timing for initialization and tear-down:
init, which will be executed at the time the grid's column configuration is (re-)applieddestroy, which will be executed when the grid is destroyed, as well as before a new column configuration is applied
- The
treeplugin now supports the following column definition properties:shouldExpand(row, level, previouslyExpanded), a function providing for conditional automatic expansion of parent rows (#141)indentWidth, an integer specifying the size (in pixels) of each level's indent (note that the default is now9, though it was previously19)renderExpando(), a function which can replace the default logic for rendering the expando node (the arrow next to the content of each cell)
- The
editorplugin now augments the grid instance with anedit(cell)method which can be used to programmatically activate the editor in a given cell. - A
util/mousemodule has been added, which exposes simulated events for the mouse entering and leaving grid rows and cells. (#165) - A
package.jshas been added in order to streamline the build process.package.jsonhas been updated to reflect the presence ofpackage.jsand reference the latest versions of xstyle and put-selector, each of which now have apackage.jsof their own.
- Mouse events for expanding/collapsing rows in tree grids should be a bit more reliable. (#112)
- Rows expanded in a tree grid which has been started up but is currently hidden will now be rendered properly when re-shown. (#140)
- The
treeandeditorplugins can now both be used on the same column, by wrappingeditorwithtree. (#144) sortablenow defaults tofalsefor columns wherefieldis"_item"or entirely unspecified (in which case there's nothing to sort by anyway). (#149)- The
Paginationextension now behaves appropriately with empty result sets. (#173) - The
ColumnHiderextension now iterates oversubRowsrather thancolumns, making it a bit more reliable in general. (#164) - A couple of issues with the
DijitRegistryextension were identified and fixed. (#146, thanks jdohert)