Releases: EvHaus/doby-grid
Releases · EvHaus/doby-grid
v0.1.3
v0.1.2
v0.1.1
Features:
- #2 - Add 'html' option to clipboard handler
- #15 - Ability to define placement of menuExtension
- #83 - Have getState() and restoreState() restore rowHeight for "list" mode grid
- #84 - In grouped mode have the option to export only export the selected group
- #122 - Prevent remoteFetch during horizontal scroll
- #138 - Remote Data - Allow prefetching results beyond the current viewport
- Added
scrollLeftDelta
andscrollTopDelta
values to theevents.scroll
arguments
Bug Fixes:
- Fixed a bug where
grid.showQuickFilter
would display an empty filter bar even ifgrid.options.quickFilter
is disabled
v0.1.0
Breaking Changes:
- The 'comparer' parameter in the options for the
setGrouping
method, has been renamed to 'comparator' to maintain consistency with the Column Options method. - Upgraded underscore.js dependency to version 1.7.0
Features:
- #90 - A new grid option
rowBasedSelection
allows the grid to lock selections to entire rows - #104 - A new grid option
minColumnWidth
now accepts a "headerContent" value which will restrict the minimum width of the columns to the width of the column headers - #112 - Consistent Shift + Click behaviour for
rowBasedSelection
option - #132 - The grid.setGrouping() method now accepts custom 'colspan' and 'dataExtractor' parameters for group rows
- #136 - New method
grid.showQuickFilter()
allows you to programmatically show and hide the Quick Filter bar - #143 - New method
grid.resizeColumnsToContent()
allows you to ask the grid to automatically resize all columns based on their content - New method
grid.getSelectedRows()
returns an array of selected row data objects - New method
grid.selectRows()
allows you to programatically select rows - New option
grid.options.forceRemoteSort
allows you to force remote data sets to control all sorting requests, regardless of whether or not all data is locally cached - New
destroy
event is fired after the grid has been destroyed - Additional validation messages have been added to remote data methods to make it easier for developers to debug server issues
Bug Fixes:
- #111 - Prevent window.resize when target is not window
- #113 - Aggregator counts are not reset when switching between different aggregator options
- #133 - Changing the
grid.options.rowHeight
property viagrid.setOptions
does not take into account cached collapsed rows. - #146 - extractGroups() fails to calculate remote group counts correctly on subsequent calls.
- Fixed a issue with extractGroups not extracting groups correctly when using remote data sets and grouping more than 2 levels deep
- Fixed a race condition where if a fetchGroup() request took longer than a fetch() request, the grid would fail to render and throw an exception message
- Fixed a bug where
options.columns.sortAsc
would be ignored when clicking on the column's header to enable sorting - Fixed a bug where sticky group headers would not clear themselves correctly when using nested collapsed groups or when null grouping is disabled
- Fixed a bug where sticky group headers would not resize correctly when columns are resized
For Developers:
- Unit tests have been migrated from Jasmine 1.3 to Jasmine 2.0. Please re-run 'bower install' after upgrading to latest master.
- Code has been broken up into different modules and is now compiled together using Browserify
v0.0.7
Breaking Changes:
- Third-party packages are now managed via Bower. You will need to run 'bower install' before you are able to view source code examples or run the uni tests.
Features:
- #88 - Expose the pending ajax request in the fetcher object in the grid
- #110 - Add support for Bower
- New
options.autoHeight
option allows you to have a grid in a dynamic height contianer (Thanks ckosmowski)
Bug Fixes:
- #82 - Editor validation isn't reset after re-selecting cells
- Fixed a bug with
grid.restoreState()
where theautoColumnWidth
state would be ignored.
v0.0.6
Breaking Changes:
Features:
- New "options.scrollPosition" grid options can now control which side of the grid the scrollbar is rendered on
- Developers can now tell remote grids to fetch all results using the "grid.remoteFetchAll()" method
Bug Fixes:
- #51 - Fixed a bug which would fail to reset aggregators when sorting or grouping was changed
- #75 - Fixed a bug with the context menu not appearing in the right spot when the grid is rendered on a page with a scrollbar
- #81 - Fixed a bug which would call aggregator processors twice when using custom editors and Backbone.Collection data sets
- Fixed an issue where focusing the grid would cause a window scroll.
- Fixed a bug which would fail to update aggregator rows after values have been edited in an editable grid.
- Fixed a couple of bugs with Remote Data fetch() methods being called more than necessary when the grid is configured before it is appendTo the DOM
- Fixed a bug with aggregators not being switchable from the context menu.
Other:
- Enable hardware-accelerated CSS rendering for rows and canvas to drastically improve rendering performance during scrolling. (Thanks to Ray Matos and Ryan Petrich)
- Both grid.showOverlay and grid.hideOverlay methods now return the current grid instance.
v0.0.5
Bug Fixes:
- #58 - Re-ordering columns causes all hidden columns to be removed from context menu selection
- #60 - "remoteloaded" event is fired everytime the grid is scrolled
- Fixed a bug with
setColumns
not clearing sorting preferences for columns that have been removed - Fixed a bug which would fail to properly fetch all results when performing an Export to CSV with a remote Backbone.Collection
- Fixed a bug which would fail to refetch grouping data in remote data sets after setGrouping() is called
- Fixed a bug in the logic that determines whether or not all remote data rows have been fetched or not
- Fixed a bug which would fail to draw the Aggregators context menu list correctly
- Patched a mysterious issue where sometimes scrolling would stop working for certain grid configurations
Features:
- #39 - The remote data fetching object instance is now exposed to the developers via the grid.fetcher property
- #40 - Give developers a way to get the current user configurations
- A new
statechange
event has been added to makegetState
andrestoreState
methods easier to use - A new
keepNullsAtBottom
Grid Option allows you to control the behavior of null rows when sorting rows - The "columnchange" event will now return the list of columns before the change in the "oldColumns" property
Other:
- Users can now drag inside unselectable cells to select text content
- Added caching for sticky group headers which greatly improves scrolling performance
- Remote count() method results will now be validated to ensure a number is returned
- Added optimization for remote data grouping. Once all rows have been fetched, the grid will stop calling fetch methods.
v0.0.4
Breaking Changes;
- When defining a custom
class
function for rows or columns, that function will now be bound to the grid instance instead of the row object - The
rowSpacing
option will now add spacing to the top of the row, instead of the bottom - When the grid is initialized it will now validate the column definitions to ensure that there are no two columns with the same 'id' value, and that there are no undefined or null definitions
Bug Fixes:
- #44 - Auto-column resize fails on newly added columns
- Fixed a bug where the grid viewport would be rendered a few pixels taller than it should be
- Fixed a bug which would allow you to edit Backbone.Model id values via editors
- Fixed a bug which would fail to update the grid rows when a Backbone.Collection data set was populated with new values via reset()
Features:
- #47 - Allow developers to hide the grid header
- #48 - Allow developers to customize the entire data object for Group rows
- #54 - The
emptyNotice
grid option now accepts a function to define custom HTML for empty notice overlays - #56 - Add option to prevent the grid from stealing focus on hover
- #57 - Added new
showOverlay
andhideOverlay
methods for display custom messages and overlays on the grid - Added a new
collapsable
Grid Option for preventing users from collapsing/expanding groups - Added a new
groupNulls
Grid Option for having grouped grids keep null values at the bottom - Added a new
groupRowData
Grid Option for customizing the data of each grouping row - The
rowSpacing
Data Option now support a function value
Other:
- Added a cache for collection item ids which improves rendering performance for large data sets by 5-25%
v0.0.3
Breaking Changes:
- #27 - Editor validate() functions should accept a callback for doing asynchronous validation -- All custom editors that define a "validate()" function will need to be updated. See https://github.com/globexdesigns/doby-grid/wiki/Editors for more info.
- #30 - Add ability to perform bulk edit operations with the editor -- All custom editors that define a "validate()", or "applyValue()" functions will need to be updated. See https://github.com/globexdesigns/doby-grid/wiki/Editors for more info.
- Cell selections are now removed after a successful edit operation when using the default editor.
- The arguments returned by all events have been revamped and standardized for consistency. See https://github.com/globexdesigns/doby-grid/wiki/Events for more info.
Bug Fixes:
- #4 - Clipboard incorrectly copies cells that aren't selectable
- #16 - Updating the rowHeight grid option via setOptions() should re-render the grid
- #18 - Clipboard does not copy cells added via Command+Click
- #26 - "Hide Quick Filter" option should be available if you right-click on the quick filter's row
- #28 - Editor does not edit the active cell when cells are selected
- #32 - Use border-box vs content-box
- #34 - Setting column to focusable: true does not remove class active
- #37 - grid.reset(items) steals focus
- #41 - 'columnresize' event doesn't pass back correct args
- Fixed a bug where editing the last cell in the grid would not automatically destroy the edit on "Enter" key.
- Fixed a bug where Shift+Tabbing between editable and non-editable cells would cause the grid to lose focus.
Features:
- #13 - Provide a method for developers to submit the editor programmatically
- #29 - Expose the "showInvalid" function to custom editors
- #38 - Resetting filter does not work
- #42 - Expose the idProperty to developers
- Added a new Grid Option called
scrollLoader
which controls what is displayed during virtual scrolling - Added a new Grid Option called
stickyFocus
which controls the behavior of grid blur events - The
filter()
method now supports the 'IN' operator.
v0.0.2
Bug Fixes:
- #17 - Unhandled Error when left click/right click on editable cell
- #21 - Context menu is not removed when the grid's container is removed from the DOM
- #24 - Proving the grid an empty menuExtensions function causes the menu to break
- Fixed a bug which would throw an error when calling
grid.destroy()
more than once. Will display a console.warn() instead now. - Fixed a bug with
grid.remove()
which would not remove the right row when the grid contains at least one NonDataItem row. - Fixed a bug which would throw an error when attempting to remove a column which had a post-processing cache.
- Fixed a bug with the "Column Options" header in the context menu not being drawn in some instances.
- Fixed a bug which prevented editors to save changes when using Backbone Collection data and having nested row children.
Features:
- #22 - Add support for new rowSpacing grid option
- #25 - Add a method to allow developers to refetch data for a Remote Grid
Other:
- Fixed a memory leak issue with the Remote example demo
- Fixed a DOM memory leak with the grid's destroy method
- Removed animation delay on highlight when selecting cells (for all themes)