[BREAKING_CHANGE_DASHBOARDS][DASHBOARD_CACHE_FLUSH_REQUIRED] Refactor page layout widget configuration type (#16671)
# Introduction In this pull-request we're refactoring the page layout widget configuration entity to be containing its discriminated key simplifying underlying code and maintainability - Made the configuration and title non nullable - Introduced a generic predicate for the `widgetConfigurationType` - Upgraded command to remove `graphType` and insert new `configurationType` to existing entries - Migrated frontend to new type system --------- Co-authored-by: bosiraphael <raphael.bosi@gmail.com> Co-authored-by: Raphaël Bosi <71827178+bosiraphael@users.noreply.github.com>
This commit is contained in:
+7
-12
@@ -5,11 +5,10 @@ import { PIE_CHART_MAXIMUM_NUMBER_OF_SLICES } from '@/page-layout/widgets/graph/
|
||||
import { t } from '@lingui/core/macro';
|
||||
import { type ObjectRecordGroupByDateGranularity } from 'twenty-shared/types';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { GraphType } from '~/generated/graphql';
|
||||
import { WidgetConfigurationType } from '~/generated/graphql';
|
||||
|
||||
type GetChartLimitMessageParams = {
|
||||
graphType: GraphType;
|
||||
widgetConfigurationType: WidgetConfigurationType;
|
||||
isPrimaryAxisDate: boolean;
|
||||
primaryAxisDateGranularity:
|
||||
| ObjectRecordGroupByDateGranularity
|
||||
@@ -18,15 +17,14 @@ type GetChartLimitMessageParams = {
|
||||
};
|
||||
|
||||
export const getChartLimitMessage = ({
|
||||
graphType,
|
||||
widgetConfigurationType,
|
||||
isPrimaryAxisDate,
|
||||
primaryAxisDateGranularity,
|
||||
}: GetChartLimitMessageParams): string => {
|
||||
const maxItems =
|
||||
graphType === GraphType.LINE
|
||||
widgetConfigurationType === WidgetConfigurationType.LINE_CHART
|
||||
? LINE_CHART_CONSTANTS.MAXIMUM_NUMBER_OF_DATA_POINTS
|
||||
: graphType === GraphType.VERTICAL_BAR ||
|
||||
graphType === GraphType.HORIZONTAL_BAR
|
||||
: widgetConfigurationType === WidgetConfigurationType.BAR_CHART
|
||||
? BAR_CHART_CONSTANTS.MAXIMUM_NUMBER_OF_BARS
|
||||
: PIE_CHART_MAXIMUM_NUMBER_OF_SLICES;
|
||||
|
||||
@@ -37,14 +35,11 @@ export const getChartLimitMessage = ({
|
||||
return t`Undisplayed data: max ${maxItems} ${granularityLabel} per chart.`;
|
||||
}
|
||||
|
||||
if (graphType === GraphType.LINE) {
|
||||
if (widgetConfigurationType === WidgetConfigurationType.LINE_CHART) {
|
||||
return t`Undisplayed data: max ${maxItems} data points per chart.`;
|
||||
}
|
||||
|
||||
if (
|
||||
graphType === GraphType.VERTICAL_BAR ||
|
||||
graphType === GraphType.HORIZONTAL_BAR
|
||||
) {
|
||||
if (widgetConfigurationType === WidgetConfigurationType.BAR_CHART) {
|
||||
return t`Undisplayed data: max ${maxItems} bars per chart.`;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user