A canvas-based super high performant grid renderer API
Clone or download
Latest commit 9d19656 Nov 17, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
css Removed defaults specific to filtering and sorting Mar 13, 2017
images bump version number Nov 17, 2018
jsdoc-template-hypergrid @ a98e726 update jsdoc submodule reference for new copyright notice Oct 22, 2018
src resolve jsdoc compilation error Nov 17, 2018
test restored a test file Jul 5, 2018
.editorconfig first pass polymerizing Nov 13, 2014
.eslintrc behaviors.JSON -> Local; fixed COPY; removed filter api tutorial Jul 5, 2018
.gitattributes first pass polymerizing Nov 13, 2014
.gitignore simplify Registry.js and use it in dataModels/index.js Jul 5, 2018
.gitmodules jsdoc fixes to localizerInterface and mixins Jun 13, 2018
.jsdoc.conf.json add jsdoc home page content (versioned) Jul 5, 2018
.npmignore Added dataModel.addListener support ... Jul 5, 2018
.travis.yml added travis ci integration. Aug 16, 2016
ACCESS.md merged in README.md, etc, edits from master Jun 8, 2017
CONTRIBUTING.md update license, blotter link; remove "openfin" refs Oct 15, 2018
LICENSE revert to vanilla MIT license Oct 22, 2018
OVERVIEW.md fix(#520) changes to OVERVIEW Jun 14, 2017
README.md updated readme Nov 17, 2018
ROADMAP.md update license, blotter link; remove "openfin" refs Oct 15, 2018
TESTING.md update license, blotter link; remove "openfin" refs Oct 15, 2018
TRANSITION-NOTES.md update license, blotter link; remove "openfin" refs Oct 15, 2018
gulpfile.js encode svg & ico files; theme svg images and create rules Nov 17, 2018
jsdoc.sh depolymerized and browserified (untested) Nov 15, 2015
package.json bump version number Nov 17, 2018
version-history.md catch-up with master Jan 10, 2018

README.md

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.0 - 17 November 2018)

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.0" (or "^3.2.0") 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.