UNPKG

kibana-with-account

Version:

kibana-with-account is develop based kibana project

85 lines (68 loc) 2.07 kB
/* global window */ var React = require('react/addons'); var Paging = require('../../../../components/Paging'); var Actions = require('../../actions/UserRequest'); var UserRequestStore = require('../../stores/UserRequest'); var FilterForm = require('./FilterForm'); var Results = require('./Results'); var Component = React.createClass({ contextTypes: { router: React.PropTypes.func }, getInitialState: function () { UserRequestStore.resetResults(); Actions.getResults(this.context.router.getCurrentQuery()); return { results: UserRequestStore.getResults(), }; }, componentWillReceiveProps: function (nextProps) { Actions.getResults(this.context.router.getCurrentQuery()); }, componentDidMount: function () { UserRequestStore.addChangeListener(this.onStoreChange); }, componentWillUnmount: function () { UserRequestStore.removeChangeListener(this.onStoreChange); }, onStoreChange: function () { this.setState({ results: UserRequestStore.getResults() }); }, onFiltersChange: function (event) { if (event) { event.preventDefault(); event.stopPropagation(); } this.context.router.transitionTo('userRequest', {}, this.refs.filters.state); window.scrollTo(0, 0); }, onPageChange: function (page) { this.refs.filters.changePage(page); }, render: function () { return ( <section className="section-statuses container"> <div className="page-header"> <h1>UserRequest</h1> </div> <FilterForm ref="filters" query={this.context.router.getCurrentQuery()} loading={this.state.results.loading} onChange={this.onFiltersChange} /> <Results data={this.state.results.data}/> <Paging ref="paging" pages={this.state.results.pages} items={this.state.results.items} loading={this.state.results.loading} onChange={this.onPageChange} /> </section> ); } }); module.exports = Component;