A collection of reusable React components with their own Flux lifecycle.
What's inside react-components?
From a simple table to multi-column filtering, column sorting, row selection, client side pagination, and more.
Search against large sets of data, populate results, and take action with all the sweet hot keys your power users are after.
Display complex data with our pie chart's drill in/out functionality, hover animations, and result list.
A simple single page modal that renders in it's own DOM tree and operates outside the render cycles of an application.
A page level component that displays a confirmation dialog to the user with OK/Cancel buttons.
A page level component that animates in and out for success, error, warning, info, and custom messages.
NPM Install react-components
$ npm install dataminr-react-components --save
If using a component which requests data from your APIs, add a mapping to your webpack config for the component which will be responsible for making requests
RequestHandler$: path.join(__dirname, 'path', 'to', 'request', 'library'),
Add external style sheet
<link type="text/css" rel="stylesheet" href="/node_modules/react-components/dist/react-components.css" />
jsfiddle demonstrating the issue if possible.
If you are submitting a bug, please create a
Fork the library and follow the Install Dependencies steps below.
$ git clone https://github.com/dataminr/react-components.git
$ git checkout master
- Pull requests should be made to the
master branch with proper unit tests.
- Do not include the distribution files in your pull request. These are only sent to NPM
We use the following libraries within our project
- Flux Application architecture for building user interfaces
- d3 Manipulate documents based on data with Data-Driven Documents
- Compass Css authoring framework
- Sass CSS with superpowers
Unit testing and style checking
Compass & Sass
$ gem install compass
Grunt command line interface
$ npm install -g grunt-cli
Finally, install third-party dependencies and start watchers:
$ cd ~/path/to/react-components/root
$ npm install
If you find your css build results are empty, update your sass gem.
Use the sample app in your browser to develop
The default grunt task will start webpack to compile all JS/Sass and startup webpack dev server to serve combined files.
Run Karma unit tests and eslint
$ grunt test
Same as grunt test, however, this task will run code coverage and launch the code coverage in your browser.
$ grunt test:cov
Special Thanks To:
The developers that made this project possible by contributing to the the following libraries and frameworks:
React, Flux, Compass, Sass, Require, Grunt, Jasmine, Istanbul, ESLint, Watch, d3, lodash, and Moment