[WEB-1000] fix: handled edge case for color on custom analytics state_group (#4185)

* chore: handled edge case for color on custom analytics state_group

* fix: error handler
This commit is contained in:
guru_sainath 2024-04-13 22:18:34 +05:30 committed by GitHub
parent 8b6035d315
commit 251a432d8a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,12 +1,12 @@
// nivo
import { BarDatum } from "@nivo/bar";
import { IAnalyticsData, IAnalyticsParams, IAnalyticsResponse, TStateGroups } from "@plane/types";
// helpers
import { DATE_KEYS } from "@/constants/analytics";
import { MONTHS_LIST } from "@/constants/calendar";
import { STATE_GROUPS } from "@/constants/state";
import { addSpaceIfCamelCase, capitalizeFirstLetter, generateRandomColor } from "@/helpers/string.helper";
// types
import { IAnalyticsData, IAnalyticsParams, IAnalyticsResponse, TStateGroups } from "@plane/types";
// constants
export const convertResponseToBarGraphData = (
@ -36,8 +36,8 @@ export const convertResponseToBarGraphData = (
name: DATE_KEYS.includes(params.x_axis)
? renderMonthAndYear(key)
: params.x_axis === "priority" || params.x_axis === "state__group"
? capitalizeFirstLetter(key)
: key,
? capitalizeFirstLetter(key)
: key,
...segments,
});
} else {
@ -49,8 +49,8 @@ export const convertResponseToBarGraphData = (
name: DATE_KEYS.includes(params.x_axis)
? renderMonthAndYear(item.dimension)
: params.x_axis === "priority" || params.x_axis === "state__group"
? capitalizeFirstLetter(item.dimension ?? "None")
: item.dimension ?? "None",
? capitalizeFirstLetter(item.dimension ?? "None")
: item.dimension ?? "None",
[yAxisKey]: item[yAxisKey] ?? 0,
});
}
@ -75,7 +75,7 @@ export const generateBarColor = (
if (params[type] === "labels__id")
color = analytics?.extras.label_details.find((l) => l.labels__id === value)?.labels__color ?? undefined;
if (params[type] === "state__group") color = STATE_GROUPS[value.toLowerCase() as TStateGroups].color;
if (params[type] === "state__group") color = STATE_GROUPS[value.toLowerCase() as TStateGroups]?.color ?? undefined;
if (params[type] === "priority") {
const priority = value.toLowerCase();
@ -84,12 +84,12 @@ export const generateBarColor = (
priority === "urgent"
? "#ef4444"
: priority === "high"
? "#f97316"
: priority === "medium"
? "#eab308"
: priority === "low"
? "#22c55e"
: "#ced4da";
? "#f97316"
: priority === "medium"
? "#eab308"
: priority === "low"
? "#22c55e"
: "#ced4da";
}
return color ?? generateRandomColor(value);