Skip to content

a canvas-based super high performant grid control

License

Notifications You must be signed in to change notification settings

noahtaylor/fin-hypergrid

 
 

Repository files navigation

Build Status

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.

Current Release (1.0.9 - 29 August 2016)

The current version 1.0 replaces last year's prototype version, which was built around Polymer. It is now completely "de-polymerized" and is being made available as:

For a complete list of changes, see the release notes.

Demos

Developer Tutorial

This tutorial is a tool that shows developers how to use Hypergrid and implement its features.

Hyperblotter

Hyperblotter is a demo app that shows the capabilities of both OpenFin and Hypergrid.

Check out the Table view on Hyperblotter on a Windows machine via this installer.

Features

Future development
  • We are currently working on expanding the API to enable application developers to easily provide their own functionality.
  • Hypergrid will have no opinion on how the underlying data should be pivoted, but will remain capable of presenting pivoted data.
  • For local data transformations, the current sorting, filtering, etc., modules will be unbundled from the Hypergrid build and published as external modules, along with full API docs so you can roll your own.
  • Remote data transformations will be supported with all the eventing necessary for triggering such transformations on a remote server.
  • Drill-downs, currently implemented for local tree view, group view, and aggregated data view, will be supported for remote data as well.

Integrating

This is a basic example that embeds fin-hypergrid:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
</head>
<body>

    <div id="fin-grid"></div>

    <script src="https://openfin.github.io/fin-hypergrid/build/fin-hypergrid.js"></script>
    
    <script>
        var data = [
           { symbol: 'APPL', name: 'Apple Inc.', prevclose: 93.13 },
           { symbol: 'MSFT', name: 'Microsoft Corporation', prevclose: 51.91 },
           { symbol: 'TSLA', name: 'Tesla Motors Inc.', prevclose: 196.40 },
           { symbol: 'IBM', name: 'International Business Machines Corp', prevclose: 155.35 }
        ];
        
        var grid = new fin.Hypergrid('#fin-grid', { data: data });
        
        grid.addProperties({
            showRowNumbers: false,
            showFilterRow: false
        });
    </script>
</body>
</html>

Will look like:

Documentation

Essential documentation and examples will be added to this page in the near future.

We are also maintaining online API documentation for all public objects and modules. This documentation is necessarily a 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. Use it for modifying various hypergrid features and property defaults.

Contributors

Developers interested in contributing to this project should submit pull requests against the develop branch. We have several beginner help wanted tickets open for community involvement.

About

a canvas-based super high performant grid control

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 96.3%
  • HTML 2.9%
  • Other 0.8%