Skip to content
Switch branches/tags

Latest commit

* replace `sendAction` with modern callable methods

* make easy jquery fixes

* Release v2.0.0-beta.0

* Release v2.0.0-beta.1

* removed jquery

* yarn upgrade

* Update ember-scrollable

* Assert and Test compatibility with LTS 3.4

* Officially drop support for node 4 in package.json

* bump vertical-collection to v1.0.0-beta.13

* Replace merge with assign (#673)

* bump vertical-collection to v1.0.0-beta.13

* replace merge with assign

* ensure ember-scrollable updates when rows are updated (#677)

* refactor: Remove sendAction() calls (#686)

* release 2.0.0-beta.3

* Replace propertyWillChange/propertyDidChange with notifyPropertyChange and add polyfill for < Ember 3.1 (#692)

Fixes #660

* update changelog for 2.x

* Update ember-in-viewport, ember-wormhole, move ember-composable-helpers to devDependencies (#693)

* move ember composable helpers to dev dependencies and bump version  see #524

* bump ember wormhole

* add ember lts 3.8 to travis

* remove ember-native-dom-helpers testing add-on

* update multiple table test from 1-x branch to remove native-dom-helpers add-on

* [breaking] rename inViewport closure action to enterViewport

paving the way to update ember-in-viewport dependency

* fixes infinite loop on onScrolledToBottom

* remove unused rows property from lt-infinity

* bump ember-in-viewport version and refactor lt-infinity component not to use mixin

* make lt-body.inViewport event deprecated in favour of enterViewport and test

* Drop node 6 support as end of line Apr 2019 (#698)

LGTM! Node 8 it latest Maintenance LTS and will be EOL in December

* Bump Ember CLI to 3.8 and update other dependencies (#696)

* bump ember cli to lts 3.8 update other dev dependencies

also apply some ember add-on blueprint changes

* fix handlebar lint errors

Note - unsure why 'no-inline-styles' config isn’t being applied. For now I’ve manually disabled the rule in applicable templates

* disable js no-observer rule

* update eslint-plugin-ember-suave and fix lint errors

* upgrade ember-mirage (used for dummy app)

* upgrade remaining addons

* set minimum supported ember version at 2.18 (#700)

see community survey results -

* migrate to using lerna-changelog (#697)

* update changelog [ci skip]

* BREAKING drop support for ember 2.18 (#713)

* [BREAKING] drop support for ember 2.18

* fix travis - ember release can fail

* as we use the compute helper we need to restore ember-composable-helpers as a dependency (#714)

* [BREAKING] fixes #444 #662 converts ES6 native classes to ember objects (#701)

This is a breaking change as it converts the new Class() syntax to Class.create().
In addition, the only way I could get these to work was to convert the positional arguments to named args in an options hashes:

`new Table(columns, rows)` => `Table.create(columns: columns, rows: rows)`
`new Row(content, options)` => `Row.create({ content: })`
`new Column(opts)` => `Column.create(opts)`

We’ve had to replace the native constructor methods with emberObject init methods as per the official docs which should also fix #699. As a result we’ve removed the Ember 2.12 ‘hacks’ which shouldn’t be an issue as we’ve bumped ember version minimum version to 2.18.

* Bump to ember cli 3.12 and update dependencies (#716)

* bump addons

* update ember cli to 3.12

* drop ember-release from allowed travis failures

* use yarn not npm and remove unused ember-cli-changelog

* update ember changelog

* [ci skip] fix dummy app port following update to ember cli 3.12

see ember-cli/ember-cli#8794

* release v2.0.0-beta.4

* [ci-skip] update changelog for beta 4 release

* replace volatile computed properties with native getters (#718)

* Add a guard to check if scaffolding cells exist

* Always render scaffolding row in table header

* Test lt-scaffolding-row

* Update ember-scrollable version to jquery-less

* bump ember-code-snippet for dummy app

* update travis to include recent LTS versions of ember

* fix lint issues

* bump ember cli to 3.16.1 and fix/ warn easy js lint errors disable other rules

* bump dependency addons

* [ci skip] bump changelog and yuidoc addons

* [ci-skip] update changelog

* fix deprecation warning for overridden rowspan cp

* remove unsafe style attribute warnings

* make compute own helper then drop ember-composable-helpers as dependency

* Remove debugging line in compute helper

* Drop support to Ember 3.4 and 3.5

Related #739

* add testing for ember 3.20

* bump addons

* drop ember-suave eslint to fix travis

# Conflicts:
#	package.json
#	yarn.lock

* [ci-skip] update ember version in readme

* v3.16.1...v3.20.0

* drop support for ember <3.12

* drop this.get

Co-authored-by: Donald Wasserman <>
Co-authored-by: Alex Alvarez <>
Co-authored-by: Gaurav Munjal <>
Co-authored-by: Fran Worley <>
Co-authored-by: Michal Bryxí <>
Co-authored-by: mmadsen2 <>
Co-authored-by: Tomasz Węgrzyn <>
Co-authored-by: Richard Viney <>
Co-authored-by: gorzas <>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Ember Versions Build Status npm version Download Total Ember Observer Score Code Climate

Ember Light Table is a lightweight contextual component based table addon that follows Ember's actions up, data down ideology.


The API for initializing Ember Light Table (v2.x) has recently changed. Please review the Pull Request for more information.


  • Custom component based column headers and cells
  • Infinite scroll support
  • Select & Multi-select with keyboard support (CMD/CTRL, SHIFT)
  • Fixed header and footer
  • Grouped columns
  • Resizable columns
  • Expandable rows
  • Responsive
  • Scroll Tracking
  • Easy table manipulation
  • Easy override to table header, body, and footer
  • Contextual component for header, body, and footer, as well as loading, no data, and expanded row
  • EXPERIMENTAL Occlusion rendering leveraging vertical-collection. See Demo.


  • Ember.js v3.12 or above
  • Ember CLI v2.13 or above
  • Node.js v10 or above


ember install ember-light-table

🔗 Helpful Links

🆘 Looking for Help?

  • ⚠️ Bug reports: If your bug hasn't been reported yet, please open an issue. Try to pick a short but descriptive title. Make sure you're using the latest version of ember-light-table. In the issue body, try to provide exact steps for reproduction, ideally with example code. If you can't, please include any and all error messages, as many details as possible and exact information on which Ember.js / ember-cli version and browser / OS you're using.
  • Questions: As with bugs, please make sure the question wasn't asked before. Also, see if the Live Demo, Cookbook or API docs already cover your problem. If not, please do open an issue.
  • Discord Join Ember on Discord. We're happy to help you there!

🤘 Getting Involved

We're glad you love ember-light-table just as much as we do! If you want to help us making it even better, we would be delighted to have you on board, even if you've just started using Ember.

💡 Submitting Ideas

If you've got a great idea in store, but don't feel up for the task to implement it yourself, just open an issue. That way you can put your thoughts out there for discussion and we can evolve it further.

We'll see, whether this feature is a good fit for ember-light-table itself or could better be implemented in a third-party addon.

You're also always invited to chime in on ongoing issues, especially for issues marked with ideas-wanted.

⌨️ Contributing Code

Contributing to an Ember addon is a great opportunity to get in touch with advanced concepts. You're also getting free peer review for your code as a bonus!

And most importantly, you're doing something good for the community!

New Features

If you want to make a bigger change, we recommend opening an issue first, so we can agree on the best possible implementation first and none of your work goes to waste.

👀 Don't know where to start?

You don't have a specific feature in mind but want to help out anyways? Awesome!

Issues marked with help wanted are generally agreed upon and ready to get implemented. Oftentimes we have clearly outlined how these issues should get resolved.

We try hard to accurately estimate the overall difficulty and scope of issues and organize them with labels:

  • ☺️ difficulty-easy: Perfect for beginners or if you don't have much time on your hands.
  • 😉 difficulty-medium: A fair knowledge of ember-light-table and Ember.js / ember-cli is recommended. The higher level plan or expected API has been clearly outlined. The implementation details should be pretty easy to figure out.
  • 🤔 difficulty-hard: For the experienced. Implementation details are important to get right as to not wreak havoc or kill performance. Still the overall plan should be clearly outlined.
  • 😱 difficulty-epic: Up for a challenge, eh? Either this issue has a really broad scope, requires substantial refactoring and rewrites or we know what we want to achieve, but are not quite sure how.

🤝 Got Stuck?

We're here to help! It's a good idea to submit you're pull request (PR) right away. Just prefix the title with [WIP] (work in progress) so we know that you're not done yet.

This way, you can get feedback early on or ask others for help. Your commits are also automatically tested by Travis CI. 🤖

Pull requests marked with ideas-wanted are stuck and we would like to hear your thought.

If a pull request is marked with help wanted we just don't have the time and resources to work on it right now. You're invited to continue working on it instead!