/vaadin-grid

vaadin-grid is a free, flexible and high-quality Web Component for showing large amounts of tabular data, built using Polymer

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Gitter

Build Status

vaadin-grid

vaadin-grid is a Web Component for showing large amounts of tabular data, part of the vaadin-components component bundle.

Features:

  • Lazy-loading
  • Virtual scrolling
  • Frozen/fixed columns
  • Customizable headers and footers
  • Custom cell renderers
  • Touch support
  • Keyboard navigation
  • Sorting
  • Accessibility
  • Declarative and imperative APIs

Getting started

Overview of this repository

  • demo: A set of examples using the component

  • test: Unit and visual tests

  • java: The internal GWT implementation of the component exported to JavaScript which is used by the Polymer-based implementation.

Developing

Setting up the project for the first time

First, make sure you've installed all the necessary tooling:

If you encounter permission issues when running npm see thread in StackOverFlow.com

Then do the following:

  1. Install bower, gulp, web-component-tester and polyserve globally:
$ npm install -g bower gulp web-component-tester polyserve

Note: you might need to prepend sudo if you are in a unix like system (linux, mac)

  1. Clone the project:
$ git clone https://github.com/vaadin/vaadin-grid.git
$ cd vaadin-grid
  1. Install the project dependencies:
$ npm install

Demos / examples

Start a server in the root folder, and access one of the demo files inside the component folders, e.g:

$ polyserve

Running automated tests

  • Run all tests locally:
$ gulp test
  • Run a single browser locally:
$ wct --local=chrome/firefox/safari
  • Run and debug tests manually:
$ polyserve

Development Protips

  • Compiling GWT module:

Compiled module is in the repository, so you don't need to compile it unless you modify GWT .java files.

$ gulp gwt
  • Compiling GWT using "pretty" output:
$ gulp gwt --gwt-pretty
  • Running and debugging in GWT SuperDevMode:
$ gulp gwt:sdm
  • Update your dependencies once in a while:
$ npm install

License

vaadin-grid is licensed under the Apache License 2.0.