mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
* replace fetching hooks with class render prop component Signed-off-by: Boyko Lalov <boyskila@gmail.com> Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * rename Fetcher Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * status page markup separated from fetcher component Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * fetch api reusability Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * extract Config and Flags pages as 'dumb' components Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * more components splitting Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * implement fetchWithstatus HOC Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * refactor changed files tests Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * switching back to hooks. Signed-off-by: blalov <boyko.lalov@tick42.com> Signed-off-by: Boyko Lalov <boyskila@gmail.com> * fetch response bug fix Signed-off-by: Boyko Lalov <boyskila@gmail.com> * make wrapped by withstatusIndicator components names consistent Signed-off-by: Boyko Lalov <boyskila@gmail.com>
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import React, { FC } from 'react';
|
|
import { RouteComponentProps } from '@reach/router';
|
|
import { Table } from 'reactstrap';
|
|
import { withStatusIndicator } from '../withStatusIndicator';
|
|
import { useFetch } from '../utils/useFetch';
|
|
import PathPrefixProps from '../PathPrefixProps';
|
|
|
|
interface FlagMap {
|
|
[key: string]: string;
|
|
}
|
|
|
|
interface FlagsProps {
|
|
data?: FlagMap;
|
|
}
|
|
|
|
export const FlagsContent: FC<FlagsProps> = ({ data = {} }) => {
|
|
return (
|
|
<>
|
|
<h2>Command-Line Flags</h2>
|
|
<Table bordered size="sm" striped>
|
|
<tbody>
|
|
{Object.keys(data).map(key => (
|
|
<tr key={key}>
|
|
<th>{key}</th>
|
|
<td>{data[key]}</td>
|
|
</tr>
|
|
))}
|
|
</tbody>
|
|
</Table>
|
|
</>
|
|
);
|
|
};
|
|
const FlagsWithStatusIndicator = withStatusIndicator(FlagsContent);
|
|
|
|
FlagsContent.displayName = 'Flags';
|
|
|
|
const Flags: FC<RouteComponentProps & PathPrefixProps> = ({ pathPrefix = '' }) => {
|
|
const { response, error, isLoading } = useFetch<FlagMap>(`${pathPrefix}/api/v1/status/flags`);
|
|
return <FlagsWithStatusIndicator data={response.data} error={error} isLoading={isLoading} />;
|
|
};
|
|
|
|
export default Flags;
|