mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* adds `npm start` / `yarn start` script * starts a webpack-dev-server using the dev config, served on :3333 * hot reloading (HMR) for react/styles, not working for angular code * new entry `dev.ts` for dynamic imports of CSS theme (ExtractText does not work with HMR) * TS loader pipeline moved out of common to add HMR for react * applied `hot()` to some react containers (that's their new default export, named exports remains for testing) * added sections to README * updated yarn.lock
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import React from 'react';
|
|
import { hot } from 'react-hot-loader';
|
|
import { inject, observer } from 'mobx-react';
|
|
import PageHeader from 'app/core/components/PageHeader/PageHeader';
|
|
import IContainerProps from 'app/containers/IContainerProps';
|
|
|
|
@inject('nav', 'serverStats')
|
|
@observer
|
|
export class ServerStats extends React.Component<IContainerProps, any> {
|
|
constructor(props) {
|
|
super(props);
|
|
const { nav, serverStats } = this.props;
|
|
|
|
nav.load('cfg', 'admin', 'server-stats');
|
|
serverStats.load();
|
|
}
|
|
|
|
render() {
|
|
const { nav, serverStats } = this.props;
|
|
return (
|
|
<div>
|
|
<PageHeader model={nav as any} />
|
|
<div className="page-container page-body">
|
|
<table className="filter-table form-inline">
|
|
<thead>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Value</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>{serverStats.stats.map(StatItem)}</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
}
|
|
|
|
function StatItem(stat) {
|
|
return (
|
|
<tr key={stat.name}>
|
|
<td>{stat.name}</td>
|
|
<td>{stat.value}</td>
|
|
</tr>
|
|
);
|
|
}
|
|
|
|
export default hot(module)(ServerStats);
|