fin-hypergrid is an ultra-fast HTML5 grid presentation layer, achieving its speed by rendering (in a canvas tag) only the currently visible portion of your (virtual) grid, thus avoiding the latency and life-cycle issues of building, walking, and maintaining a complex DOM structure. Please be sure to checkout our design overview
Below is an example custom application built on top of the Hypergrid API tooling.
It also highlights a DOM-based custom external editor triggered via hypergrid events as well as interaction with Hypergrid’s column ordering API.
Table of Contents
Current Release (3.2.1 - 2 May 2019)
CAUTION: For those considering upgrading directly from v2, be advised Hypergrid v3 introduced a revised data model with breaking changes. The impact of these changes has been intentionally minimized and should not affect the vast majority of users. See the v3.0.0 release notes for more information.
For a complete list of changes, see the release notes.
Distribution
npm module (recommended)
Published as a CommonJS module to npmjs.org.
Specify a SEMVER of "fin-hypergrid": "3.2.1"
(or "^3.2.1"
) in your package.json file,
issue the npm install
command, and let your bundler (wepback,
Browserify) create a single file containing both Hypergrid and your application.
Build files (for small and informal examples and proofs-of-concept)
Also published as pre-bundled build files (fin-hypergrid.js
and fin-hypergrid.min.js
) to the GitHub CDN.
See the CDN index for links.
Contains a JavaScript IIFE
that creates (as needed) the global namespace window.fin
and populates window.fin.Hypergrid
.
Your application would load one of these pre-bundled build files (in a <script>
tag),
plus each of its own modules (or a single bundled build of all of its own its own modules).
Demos
The fin-hypergrid/build
repo generates the build files.
It also hosts the demo source files that test and show off various Hypergrid features.
Some of these use the npm module while others use the bundled build file.
Working versions of all demos are published to the CDN (list of links).
Testbench
The default demo is the Hypergrid dev testbench (source).
(This app bundles the npm module plus all of its own modules together into a single file (testbench.js
).
For illustrative purposes, this alternate version loads
the pre-bundled build file fin-hypergrid.js
plus specially IIFE-wrapped versions of each its own modules discretely.)
Simple example
See example.html
for a very simple example (repo, demo):
Who else is using Hypergrid?
Perspective
The Perspective open source project uses Hypergrid v3 (demo links in the README) and does a lot more than Hypergrid alone, such as table pivots and charting.
AdaptableBlotter.JS
Openfin’s AdaptableBlotter.JS (installer) is a demo app that shows the capabilities of both Openfin and Hypergrid.
Features
Testing
Please use github issues to report problems
We invite everyone to test the alpha branch for changes going into the next release
Find more information on our testing page
Developer Documentation
Primarily our tutorials will be on the wiki.
We also maintain versioned online API documentation for all public objects and modules. This documentation is necessarily an on-going work-in-progress.
(Cell editor information can be found here.)
(Cell Rendering information can be found here.)
Hypergrid global configurations can be found here.
Roadmap
For our current queue of up coming work you can find it here
Contributors
Developers interested in contributing to this project should review our contributing guide before making pull requests.