Skip to content

Commit 9f7837c

Browse files
authored
feat: add sorting of issues in issues tree (#532)
1 parent 8a546a1 commit 9f7837c

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/store/reducers/healthcheckInfo.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,25 @@ const mapStatusToPriority: Partial<Record<StatusFlag, number>> = {
7676
GREEN: 4,
7777
};
7878

79-
const getReasonsForIssue = ({issue, data}: {issue: IssueLog; data: IssueLog[]}) => {
80-
return data.filter((item) => issue.reason && issue.reason.indexOf(item.id) !== -1);
81-
};
79+
const sortIssues = (data: IssueLog[]): IssueLog[] => {
80+
return data.sort((a, b) => {
81+
const aPriority = mapStatusToPriority[a.status] || 0;
82+
const bPriority = mapStatusToPriority[b.status] || 0;
8283

83-
const getRoots = (data: IssueLog[]): IssueLog[] => {
84-
let roots = data.filter((item) => {
85-
return !data.find((issue) => issue.reason && issue.reason.indexOf(item.id) !== -1);
84+
return aPriority - bPriority;
8685
});
86+
};
8787

88-
roots = _flow([
89-
_uniqBy((item: IssueLog) => item.id),
90-
_sortBy(({status}: {status: StatusFlag}) => mapStatusToPriority[status]),
91-
])(roots);
88+
const getReasonsForIssue = ({issue, data}: {issue: IssueLog; data: IssueLog[]}) => {
89+
return sortIssues(data.filter((item) => issue.reason && issue.reason.indexOf(item.id) !== -1));
90+
};
9291

93-
return roots;
92+
const getRoots = (data: IssueLog[]): IssueLog[] => {
93+
return sortIssues(
94+
data.filter((item) => {
95+
return !data.find((issue) => issue.reason && issue.reason.indexOf(item.id) !== -1);
96+
}),
97+
);
9498
};
9599

96100
const getInvertedConsequencesTree = ({

0 commit comments

Comments
 (0)