[Dashboards] Update default bar chart config (#17375)

https://github.com/user-attachments/assets/f7f11048-f27b-4c81-8626-71351a278f2b
This commit is contained in:
nitin
2026-01-22 23:16:22 +05:30
committed by GitHub
parent 23798ddc6b
commit fd43eeda41
5 changed files with 75 additions and 86 deletions
@@ -1,77 +0,0 @@
import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector';
import { useRecoilValue } from 'recoil';
import { isDefined } from 'twenty-shared/utils';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { type GraphWidgetFieldSelection } from '@/page-layout/types/GraphWidgetFieldSelection';
export const useCompanyDefaultChartConfig = () => {
const companyObjectMetadata = useRecoilValue(
objectMetadataItemFamilySelector({
objectName: CoreObjectNameSingular.Company,
objectNameType: 'singular',
}),
);
const buildBarChartFieldSelection = ():
| GraphWidgetFieldSelection
| undefined => {
if (!isDefined(companyObjectMetadata)) {
return;
}
const labelIdentifierField = companyObjectMetadata.fields.find(
(field) =>
field.id === companyObjectMetadata.labelIdentifierFieldMetadataId,
);
const employeesField = companyObjectMetadata.fields.find(
(field) => field.name === 'employees',
);
const arrField = companyObjectMetadata.fields.find(
(field) => field.name === 'annualRecurringRevenue',
);
const aggregateField = employeesField ?? arrField;
if (!isDefined(labelIdentifierField) || !isDefined(aggregateField)) {
return;
}
return {
objectMetadataId: companyObjectMetadata.id,
groupByFieldMetadataIdX: labelIdentifierField.id,
aggregateFieldMetadataId: aggregateField.id,
};
};
const buildNumberChartFieldSelection = ():
| GraphWidgetFieldSelection
| undefined => {
if (!isDefined(companyObjectMetadata)) {
return;
}
const employeesField = companyObjectMetadata.fields.find(
(field) => field.name === 'employees',
);
const arrField = companyObjectMetadata.fields.find(
(field) => field.name === 'annualRecurringRevenue',
);
const aggregateField = employeesField ?? arrField;
if (!isDefined(aggregateField)) {
return;
}
return {
objectMetadataId: companyObjectMetadata.id,
aggregateFieldMetadataId: aggregateField.id,
};
};
return { buildBarChartFieldSelection, buildNumberChartFieldSelection };
};
@@ -0,0 +1,64 @@
import { objectMetadataItemFamilySelector } from '@/object-metadata/states/objectMetadataItemFamilySelector';
import { useRecoilValue } from 'recoil';
import { isDefined } from 'twenty-shared/utils';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { type GraphWidgetFieldSelection } from '@/page-layout/types/GraphWidgetFieldSelection';
export const useOpportunityDefaultChartConfig = () => {
const opportunityObjectMetadata = useRecoilValue(
objectMetadataItemFamilySelector({
objectName: CoreObjectNameSingular.Opportunity,
objectNameType: 'singular',
}),
);
const buildBarChartFieldSelection = ():
| GraphWidgetFieldSelection
| undefined => {
if (!isDefined(opportunityObjectMetadata)) {
return;
}
const stageField = opportunityObjectMetadata.fields.find(
(field) => field.name === 'stage',
);
const amountField = opportunityObjectMetadata.fields.find(
(field) => field.name === 'amount',
);
if (!isDefined(stageField) || !isDefined(amountField)) {
return;
}
return {
objectMetadataId: opportunityObjectMetadata.id,
groupByFieldMetadataIdX: stageField.id,
aggregateFieldMetadataId: amountField.id,
};
};
const buildNumberChartFieldSelection = ():
| GraphWidgetFieldSelection
| undefined => {
if (!isDefined(opportunityObjectMetadata)) {
return;
}
const amountField = opportunityObjectMetadata.fields.find(
(field) => field.name === 'amount',
);
if (!isDefined(amountField)) {
return;
}
return {
objectMetadataId: opportunityObjectMetadata.id,
aggregateFieldMetadataId: amountField.id,
};
};
return { buildBarChartFieldSelection, buildNumberChartFieldSelection };
};