AngularJS table directive built with ReactJS for high performance
Demo: http://onijim.github.io/owl-table
bower install owl-table --save
<link rel="stylesheet" href="bower_components/owl-table/dist/owl-table.min.css">
<style src="bower_components/owl-table/dist/vendor.min.js"></style>
<style src="bower_components/owl-table/dist/owl-table.min.js"></style><owl-table id="myTable" data="myCtrl.data" columns="myCtrl.columns" options="myCtrl.options"> </owl-table>Please see index.html in the repository for an in-depth demo of usage.
I ran into performance issues with stock AngularJS doing ng-repeat on 1000+ data items. While researching optimizations, I found that some people were using React to provide the views for their apps and directives.
- angular 1.3.x+
- angular-animate
- angular-sanitize
- angular-ladda
- spin.js
- ladda.js
- angular-ui-utils
- ng-csv
- react js with addons
- lodash
- jquery 1.7+
- shims for older IE
gulp build will create vendor.min.js in the dist folder if bower install has been run. Or use your framework's asset pipeline.
- Printing
- Change page though input field
- Settings panel for storing local display settings
- git clone the repo
npm install --require-devbower install --require-devgulp buildto build sass, interpret JSX, compile CoffeeScript, etcgulp watchwill rebuild most everything on changegulp helpfor task list and info
gulp nightwatch to run e2e tests
karma start to run unit tests
Nightwatch is based on Jasmine and is reminiscent of codeception in its ease of use and readability. angular-mocks is included in the bower dev requirements.
Project uses CoffeeScript for tests because of its Ruby-like syntax which just goes well with testing.
JSX is available in all CoffeeScript due to a drop-in replacement for coffee()
After running tests, code coverage information is available in tests/coverage (gitignored)
Project uses Travis CI and Sauce Labs for cloud continuous integration and testing.