Add count and percent aggregations to kanban headers (#9348)
Closes https://github.com/twentyhq/private-issues/issues/226 https://github.com/user-attachments/assets/cee78080-6dda-4102-9595-d32971cf9104
This commit is contained in:
@ -1,18 +1,18 @@
|
||||
import { formatColumnNameFromCompositeFieldAndSubfield } from 'src/engine/twenty-orm/utils/format-column-name-from-composite-field-and-subfield.util';
|
||||
import { formatColumnNamesFromCompositeFieldAndSubfields } from 'src/engine/twenty-orm/utils/format-column-names-from-composite-field-and-subfield.util';
|
||||
|
||||
describe('formatColumnNameFromCompositeFieldAndSubfield', () => {
|
||||
describe('formatColumnNamesFromCompositeFieldAndSubfields', () => {
|
||||
it('should return fieldName when subFieldName is not defined', () => {
|
||||
const result = formatColumnNameFromCompositeFieldAndSubfield('firstName');
|
||||
const result = formatColumnNamesFromCompositeFieldAndSubfields('firstName');
|
||||
|
||||
expect(result).toBe('firstName');
|
||||
expect(result).toEqual(['firstName']);
|
||||
});
|
||||
|
||||
it('should return concatenated fieldName and capitalized subFieldName when subFieldName is defined', () => {
|
||||
const result = formatColumnNameFromCompositeFieldAndSubfield(
|
||||
'user',
|
||||
const result = formatColumnNamesFromCompositeFieldAndSubfields('user', [
|
||||
'firstName',
|
||||
);
|
||||
'lastName',
|
||||
]);
|
||||
|
||||
expect(result).toBe('userFirstName');
|
||||
expect(result).toEqual(['userFirstName', 'userLastName']);
|
||||
});
|
||||
});
|
||||
|
||||
@ -1,13 +0,0 @@
|
||||
import { capitalize } from 'src/utils/capitalize';
|
||||
import { isDefined } from 'src/utils/is-defined';
|
||||
|
||||
export const formatColumnNameFromCompositeFieldAndSubfield = (
|
||||
fieldName: string,
|
||||
subFieldName?: string,
|
||||
): string => {
|
||||
if (isDefined(subFieldName)) {
|
||||
return `${fieldName}${capitalize(subFieldName)}`;
|
||||
}
|
||||
|
||||
return fieldName;
|
||||
};
|
||||
@ -0,0 +1,15 @@
|
||||
import { capitalize } from 'src/utils/capitalize';
|
||||
import { isDefined } from 'src/utils/is-defined';
|
||||
|
||||
export const formatColumnNamesFromCompositeFieldAndSubfields = (
|
||||
fieldName: string,
|
||||
subFieldNames?: string[],
|
||||
): string[] => {
|
||||
if (isDefined(subFieldNames)) {
|
||||
return subFieldNames.map(
|
||||
(subFieldName) => `${fieldName}${capitalize(subFieldName)}`,
|
||||
);
|
||||
}
|
||||
|
||||
return [fieldName];
|
||||
};
|
||||
Reference in New Issue
Block a user