Hypergrid v3.1.0
Minor version update
This is a "minor version update," meaning it's interface-backwards-compatible with v3.0.* but introduces a new feature, the maximumColumnWidth
prop (see below) as well as bug fixes, simplified license, and tutorial improvements.
Synopsis
- Fix bug in
getSelectedRows
renderLastSelection
now bails on missing rows- Update keys down array when shift key changes
- Update keys down array whenever referenced by mouse event handlers
- Implement
maximumColumnWidth
prop - Capture off-grid
mouseup
during scrollbar thumb drag - Retain scrollbar thumb's
.hover
CSS class throughout drag - Normalize mouse wheel metrics across platforms and browsers
- Fix jsdocs type:
options.contextAttributes
- Reorganize and update the Tutorial
- Updated copyright notice
- Updated license
1. Fix getSelectedRows
[bug]
When all rows selected, SelectionModel.prototype.getSelectedRows
returns inaccurate list. Addresses Issue #764 (see).
2. renderLastSelection
now bails on missing rows [bug]
When the selection included rows that are now missing, Renderer.prototype.renderLastSelection
previously threw an error. It now aborts without rendering.
3. Update keys down array when shift key changes [bug]
Addresses Issue #770 (see).
4. Update keys down array whenever referenced by mouse event handlers [bug]
Addresses Issue #769 (see).
5. Implement maximumColumnWidth
prop [new feature]
Addresses Issue #761 (see). This is a new feature, hence the minor version number bump (3.1.0
).
6. Capture off-grid mouseup
during scrollbar thumb drag [enhancement]
Addresses finbars
Issue #6 (see) into Hypergrid.
7. Retain scrollbar thumb's .hover
CSS class throughout drag [enhancement]
Merges finbars
Issue #7 (see) into Hypergrid.
8. Normalize mouse wheel metrics across platforms and browsers [enhancement]
The following platforms and browsers are supported by assigning multiplicative factors to each (webkit on macOS = 1.0):
- macOS
- webkit (Chrome/Safari/Opera)
- moz (Firefox)
- Windows
- webkit (Chrome/Opera)
- moz (Firefox)
- IE 11
- Edge
Measurements were taken with default wheel system settings. The macOS measurements were taken on 10.13.6 (High Sierra). The Windows measurements were taken on Windows 10 and Windows 7 SP 1 (which yielded identical results with the exception of IE 11 on W7 which was ~20% faster compared to to IE11 on W10 but not enough to be a concern, especially with < 1% browser market share).
Normalization can be turned off:
- Before instantiation:
var FinBar = require('finbars'); // or Hypegrid.modules.finbars or fin.Hypergrid.require('finbars') delete FinBar.normals;
- For a specific grid instance:
grid.sbVScroller.normal = grid.sbHScroller.normal = 1;
In any case (with or without normalization), the application layer can still apply its own (additional) factor using grid.properties.wheelVFactor
and grid.properties.wheelHFactor
.
9. Fix jsdocs typo: options.contextAttributes
[docs]
Option was renamed (from canvasContextAttributes
) before merge of v2.1.5 but jsdoc comments unfortunately got out of sync, disappointing anyone trying the option using the erroneous name in the docs.
10. Reorganize and update the Tutorial
The tutorial has been moved to a new home with its own more frequent release schedule:
https://fin-hypergrid.github.io/tutorial
The current release features new Help tabs for instructions on how to use the tutorial user interface (previously mixed in with the tutorial itself, which was confusing).
11. Updated copyright notice
The copyright notice was updated from "© 2015 Openfin" to "© 2015 Openfin and The Hypergrid Authors" in:
./LICENSE
filejsdoc-template-hypergrid
submodule (which puts the copyright notice at the bottom of every doc page) (See a separate PR in another repo.)
12. Updated license
The following restriction has been removed from the license:
You may not redistribute the software or modifications as part of any application that can be described as a development toolkit, library or framework.
This change makes the license back into a plain vanilla MIT
license (per ./package.json
).
Published to npm
This release has been published (as of 10/29/2018) as a module to the npm registry.
Pre-bundled build files
A bundled build of this release is available on the CDN.