1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Add age column to cluster overview (#1970)

Signed-off-by: Alex Culliere <alozhkin@mirantis.com>
This commit is contained in:
Alex 2021-01-20 14:31:20 +02:00 committed by GitHub
parent 1e8359851c
commit 55759fb3b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -23,11 +23,13 @@ interface IWarning extends ItemObject {
kind: string;
message: string;
selfLink: string;
age: string | number;
}
enum sortBy {
type = "type",
object = "object"
object = "object",
age = "age",
}
@observer
@ -35,6 +37,7 @@ export class ClusterIssues extends React.Component<Props> {
private sortCallbacks = {
[sortBy.type]: (warning: IWarning) => warning.kind,
[sortBy.object]: (warning: IWarning) => warning.getName(),
[sortBy.age]: (warning: IWarning) => warning.age || "",
};
@computed get warnings() {
@ -42,15 +45,16 @@ export class ClusterIssues extends React.Component<Props> {
// Node bad conditions
nodesStore.items.forEach(node => {
const { kind, selfLink, getId, getName } = node;
const { kind, selfLink, getId, getName, getAge } = node;
node.getWarningConditions().forEach(({ message }) => {
warnings.push({
kind,
age: getAge(),
getId,
getName,
selfLink,
kind,
message,
selfLink,
});
});
});
@ -59,12 +63,13 @@ export class ClusterIssues extends React.Component<Props> {
const events = eventStore.getWarnings();
events.forEach(error => {
const { message, involvedObject } = error;
const { message, involvedObject, getAge } = error;
const { uid, name, kind } = involvedObject;
warnings.push({
getId: () => uid,
getName: () => name,
age: getAge(),
message,
kind,
selfLink: lookupApiLink(involvedObject, error),
@ -78,7 +83,7 @@ export class ClusterIssues extends React.Component<Props> {
getTableRow(uid: string) {
const { warnings } = this;
const warning = warnings.find(warn => warn.getId() == uid);
const { getId, getName, message, kind, selfLink } = warning;
const { getId, getName, message, kind, selfLink, age } = warning;
return (
<TableRow
@ -96,6 +101,9 @@ export class ClusterIssues extends React.Component<Props> {
<TableCell className="kind">
{kind}
</TableCell>
<TableCell className="age">
{age}
</TableCell>
</TableRow>
);
}
@ -139,6 +147,7 @@ export class ClusterIssues extends React.Component<Props> {
<TableCell className="message">Message</TableCell>
<TableCell className="object" sortBy={sortBy.object}>Object</TableCell>
<TableCell className="kind" sortBy={sortBy.type}>Type</TableCell>
<TableCell className="timestamp" sortBy={sortBy.age}>Age</TableCell>
</TableHead>
</Table>
</>