ServerStats.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. @inject('nav', 'serverStats')
  7. @observer
  8. export class ServerStats extends React.Component<IContainerProps, any> {
  9. constructor(props) {
  10. super(props);
  11. const { nav, serverStats } = this.props;
  12. nav.load('cfg', 'admin', 'server-stats');
  13. serverStats.load();
  14. }
  15. render() {
  16. const { nav, serverStats } = this.props;
  17. return (
  18. <div>
  19. <PageHeader model={nav as any} />
  20. <div className="page-container page-body">
  21. <table className="filter-table form-inline">
  22. <thead>
  23. <tr>
  24. <th>Name</th>
  25. <th>Value</th>
  26. </tr>
  27. </thead>
  28. <tbody>{serverStats.stats.map(StatItem)}</tbody>
  29. </table>
  30. </div>
  31. </div>
  32. );
  33. }
  34. }
  35. function StatItem(stat) {
  36. return (
  37. <tr key={stat.name}>
  38. <td>{stat.name}</td>
  39. <td>{stat.value}</td>
  40. </tr>
  41. );
  42. }
  43. export default hot(module)(ServerStats);