Treat no value view group as normal & enable hide/dnd for no value (#8613)
Fixes #8591 1. Summary We disabled hide/dnd(drag-and-drop) options for `No value` view group intentionally in the first implementation. We want to change it to behave like normal view groups, so enable hide/dnd for `No value` view group as well. 2. Solution I have removed the code that filters the `No value` group out of view groups, so `No value` is stored in the same array as other view groups. I have removed the `No value` flag check for `Hide` button on the hamburger menu of the Kanban header. I had to update the code in `packages/twenty-front/src/modules/views/utils/mapViewGroupsToRecordGroupDefinitions.ts` because it was ignoring the visibility flag of the `No value` view group and set it always to true. Also, it was always putting the `No value` group last ignoring the previous position. >**_I am not 100% confident in the changes I made in `packages/twenty-front/src/modules/views/utils/mapViewGroupsToRecordGroupDefinitions.ts`. I'd like to have a review from someone more familiar with that part._** 3. Recording https://github.com/user-attachments/assets/e135e22e-6e3a-4f94-a898-aafc03bba060
This commit is contained in:
@ -41,7 +41,18 @@ export const mapViewGroupsToRecordGroupDefinitions = ({
|
||||
(option) => option.value === viewGroup.fieldValue,
|
||||
);
|
||||
|
||||
if (!selectedOption) return null;
|
||||
if (!selectedOption) {
|
||||
return {
|
||||
id: 'no-value',
|
||||
title: 'No Value',
|
||||
type: RecordGroupDefinitionType.NoValue,
|
||||
value: null,
|
||||
position: viewGroup.position,
|
||||
isVisible: viewGroup.isVisible,
|
||||
fieldMetadataId: selectFieldMetadataItem.id,
|
||||
color: 'transparent',
|
||||
} satisfies RecordGroupDefinition;
|
||||
}
|
||||
|
||||
return {
|
||||
id: viewGroup.id,
|
||||
@ -57,23 +68,5 @@ export const mapViewGroupsToRecordGroupDefinitions = ({
|
||||
.filter(isDefined)
|
||||
.sort((a, b) => a.position - b.position);
|
||||
|
||||
if (selectFieldMetadataItem.isNullable === true) {
|
||||
const noValueColumn = {
|
||||
id: 'no-value',
|
||||
title: 'No Value',
|
||||
type: RecordGroupDefinitionType.NoValue,
|
||||
value: null,
|
||||
position:
|
||||
recordGroupDefinitionsFromViewGroups
|
||||
.map((option) => option.position)
|
||||
.reduce((a, b) => Math.max(a, b), 0) + 1,
|
||||
isVisible: true,
|
||||
fieldMetadataId: selectFieldMetadataItem.id,
|
||||
color: 'transparent',
|
||||
} satisfies RecordGroupDefinition;
|
||||
|
||||
return [...recordGroupDefinitionsFromViewGroups, noValueColumn];
|
||||
}
|
||||
|
||||
return recordGroupDefinitionsFromViewGroups;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user