ServerStats.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import React from 'react';
  2. import { hot } from 'react-hot-loader';
  3. import { inject, observer } from 'mobx-react';
  4. import PageHeader from 'app/core/components/PageHeader/PageHeader';
  5. import IContainerProps from 'app/containers/IContainerProps';
  6. import { store } from 'app/store/configureStore';
  7. import { setNav } from 'app/store/nav/actions';
  8. @inject('nav', 'serverStats')
  9. @observer
  10. export class ServerStats extends React.Component<IContainerProps, any> {
  11. constructor(props) {
  12. super(props);
  13. const { nav, serverStats } = this.props;
  14. nav.load('cfg', 'admin', 'server-stats');
  15. serverStats.load();
  16. store.dispatch(setNav('new', { asd: 'tasd' }));
  17. }
  18. render() {
  19. const { nav, serverStats } = this.props;
  20. return (
  21. <div>
  22. <PageHeader model={nav as any} />
  23. <div className="page-container page-body">
  24. <table className="filter-table form-inline">
  25. <thead>
  26. <tr>
  27. <th>Name</th>
  28. <th>Value</th>
  29. </tr>
  30. </thead>
  31. <tbody>{serverStats.stats.map(StatItem)}</tbody>
  32. </table>
  33. </div>
  34. </div>
  35. );
  36. }
  37. }
  38. function StatItem(stat) {
  39. return (
  40. <tr key={stat.name}>
  41. <td>{stat.name}</td>
  42. <td>{stat.value}</td>
  43. </tr>
  44. );
  45. }
  46. export default hot(module)(ServerStats);