Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export const Default: Story = {
codeDetailsList: []
},
hasErrors: false,
totalQueryResultCount: 0,
issuesInsightsCount: 0,
analyticsInsightsCount: 0,
unreadInsightsCount: 0
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export const WithStats = {
insightStats: {
allIssuesCount: 100,
criticalInsightsCount: 5,
totalQueryResultCount: 14,
issuesInsightsCount: 14,
unreadInsightsCount: 20,
analyticsInsightsCount: 10,
scope: null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const scope: Scope = {
codeDetailsList: []
},
hasErrors: false,
totalQueryResultCount: 0,
issuesInsightsCount: 0,
analyticsInsightsCount: 0,
unreadInsightsCount: 0
};
Expand All @@ -52,7 +52,7 @@ export const WithInsights: Story = {
...initialState,
scope: {
...scope,
totalQueryResultCount: 1
issuesInsightsCount: 1
}
}}
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,9 @@ export const Default: Story = {
unreadCount: 12
}
};

export const Old: Story = {
args: {
unreadCount: 12
}
};
28 changes: 22 additions & 6 deletions src/components/Insights/InsightsCatalog/InsightsStats/index.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import { useState } from "react";
import { sendUserActionTrackingEvent } from "../../../../utils/actions/sendUserActionTrackingEvent";
import { Tooltip } from "../../../common/v3/Tooltip";
import { InsightFilterType } from "../types";
import * as s from "./styles";
import { InsightStatsProps } from "./types";
Expand All @@ -22,34 +24,48 @@ export const InsightStats = ({
} else {
selection.push(selectedFilter);
}

sendUserActionTrackingEvent(`issues filter changed`, { selection });
setSelectedFilters(selection);
onChange(selection);
};

return (
<s.Stats>
<s.CriticalStat
disabled={
criticalCount === 0 && !selectedFilters.includes("criticality")
}
disabled={!criticalCount && !selectedFilters.includes("criticality")}
$selected={selectedFilters.includes("criticality")}
onClick={() => handleSelectionChange("criticality")}
>
<s.StatCounter>{criticalCount}</s.StatCounter>
{criticalCount ? (
<s.StatCounter>{criticalCount}</s.StatCounter>
) : (
<NotAssignedValue />
)}
<s.StatDescription>Critical issues</s.StatDescription>
</s.CriticalStat>
<s.UnreadStat
disabled={unreadCount === 0 && !selectedFilters.includes("unread")}
disabled={!unreadCount && !selectedFilters.includes("unread")}
$selected={selectedFilters.includes("unread")}
onClick={() => handleSelectionChange("unread")}
>
<s.StatCounter>{unreadCount}</s.StatCounter>
<s.StatDescription>Unread issues</s.StatDescription>
</s.UnreadStat>
<s.Stat>
<s.StatCounter>{allIssuesCount}</s.StatCounter>
{allIssuesCount ? (
<s.StatCounter>{allIssuesCount}</s.StatCounter>
) : (
<NotAssignedValue />
)}
<s.StatDescription>All issues</s.StatDescription>
</s.Stat>
</s.Stats>
);
};

const NotAssignedValue = () => (
<Tooltip title="To see more statistics, please update digma backend to the latest version">
<s.StatCounter>N/A</s.StatCounter>
</Tooltip>
);
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import { InsightFilterType } from "../types";

export interface InsightStatsProps {
onChange: (selected: InsightFilterType[]) => void;
allIssuesCount: number;
allIssuesCount?: number;
unreadCount: number;
criticalCount: number;
criticalCount?: number;
}

export interface StatsProps {
Expand Down
6 changes: 2 additions & 4 deletions src/components/Insights/InsightsCatalog/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -249,10 +249,8 @@ export const InsightsCatalog = (props: InsightsCatalogProps) => {
{!searchInputValue &&
(insights.length > 0 || selectedFilters.length > 0) && (
<InsightStats
criticalCount={
config.insightStats?.criticalInsightsCount || 0
}
allIssuesCount={config.insightStats?.allIssuesCount || 0}
criticalCount={config.insightStats?.criticalInsightsCount}
allIssuesCount={config.insightStats?.allIssuesCount}
unreadCount={config.insightStats?.unreadInsightsCount || 0}
onChange={handleFilterSelectionChange}
/>
Expand Down
2 changes: 1 addition & 1 deletion src/components/Navigation/ScopeBar/ScopeBar.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const mockedScope: Scope = {
relatedCodeDetailsList: []
},
hasErrors: false,
totalQueryResultCount: 0,
issuesInsightsCount: 0,
analyticsInsightsCount: 0,
unreadInsightsCount: 0
};
Expand Down
8 changes: 4 additions & 4 deletions src/components/common/App/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export interface Scope {
codeDetailsList: CodeDetails[];
};
hasErrors: boolean;
totalQueryResultCount: number;
issuesInsightsCount: number;
analyticsInsightsCount: number;
unreadInsightsCount: number;
}
Expand Down Expand Up @@ -119,11 +119,11 @@ export interface InsightStats {
spanCodeObjectId: string;
};
} | null;
totalQueryResultCount: number;
issuesInsightsCount: number;
analyticsInsightsCount: number;
unreadInsightsCount: number;
criticalInsightsCount: number;
allIssuesCount: number;
criticalInsightsCount?: number;
allIssuesCount?: number;
}

export interface UserInfo {
Expand Down