View field override (#18572)
## Context This PR introduces overrides for view fields which will be useful for page layout FIELDS widgets fields position/groups/visibility override + restore logic.
This commit is contained in:
+9
@@ -7,6 +7,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
name: 'Group 1',
|
||||
position: 0,
|
||||
isVisible: true,
|
||||
isOverridden: false,
|
||||
viewId: 'view-1',
|
||||
viewFields: [
|
||||
{
|
||||
@@ -16,6 +17,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
isVisible: true,
|
||||
size: 150,
|
||||
aggregateOperation: null,
|
||||
isOverridden: false,
|
||||
},
|
||||
{
|
||||
id: 'vf-2',
|
||||
@@ -24,6 +26,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
isVisible: false,
|
||||
size: 200,
|
||||
aggregateOperation: null,
|
||||
isOverridden: false,
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -37,6 +40,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
name: 'Group 1',
|
||||
position: 0,
|
||||
isVisible: true,
|
||||
isOverridden: false,
|
||||
viewId: 'view-1',
|
||||
viewFields: [
|
||||
{
|
||||
@@ -47,6 +51,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
isVisible: true,
|
||||
size: 150,
|
||||
aggregateOperation: null,
|
||||
isOverridden: false,
|
||||
definition: undefined,
|
||||
},
|
||||
{
|
||||
@@ -57,6 +62,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
isVisible: false,
|
||||
size: 200,
|
||||
aggregateOperation: null,
|
||||
isOverridden: false,
|
||||
definition: undefined,
|
||||
},
|
||||
],
|
||||
@@ -69,6 +75,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
name: 'Empty Group',
|
||||
position: 1,
|
||||
isVisible: false,
|
||||
isOverridden: false,
|
||||
viewId: 'view-1',
|
||||
viewFields: [],
|
||||
};
|
||||
@@ -82,6 +89,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
name: 'Empty Group',
|
||||
position: 1,
|
||||
isVisible: false,
|
||||
isOverridden: false,
|
||||
viewId: 'view-1',
|
||||
viewFields: [],
|
||||
});
|
||||
@@ -93,6 +101,7 @@ describe('convertCoreViewFieldGroupToViewFieldGroup', () => {
|
||||
name: 'Test',
|
||||
position: 0,
|
||||
isVisible: true,
|
||||
isOverridden: false,
|
||||
viewId: 'view-2',
|
||||
viewFields: [],
|
||||
};
|
||||
|
||||
@@ -62,6 +62,7 @@ describe('mapViewFieldsToColumnDefinitions', () => {
|
||||
position: 1,
|
||||
size: 1,
|
||||
isVisible: false,
|
||||
isOverridden: false,
|
||||
definition: {
|
||||
fieldMetadataId: '1',
|
||||
label: 'label 1',
|
||||
@@ -81,6 +82,7 @@ describe('mapViewFieldsToColumnDefinitions', () => {
|
||||
position: 2,
|
||||
size: 2,
|
||||
isVisible: false,
|
||||
isOverridden: false,
|
||||
definition: {
|
||||
fieldMetadataId: '2',
|
||||
label: 'label 2',
|
||||
@@ -100,6 +102,7 @@ describe('mapViewFieldsToColumnDefinitions', () => {
|
||||
position: 3,
|
||||
size: 3,
|
||||
isVisible: true,
|
||||
isOverridden: false,
|
||||
definition: {
|
||||
fieldMetadataId: '3',
|
||||
label: 'label 3',
|
||||
@@ -193,6 +196,7 @@ describe('mapColumnDefinitionsToViewFields', () => {
|
||||
fieldMetadataId: 1,
|
||||
position: 1,
|
||||
isVisible: true,
|
||||
isOverridden: false,
|
||||
definition: columnDefinitions[0],
|
||||
size: undefined,
|
||||
},
|
||||
@@ -203,6 +207,7 @@ describe('mapColumnDefinitionsToViewFields', () => {
|
||||
position: 2,
|
||||
size: 200,
|
||||
isVisible: false,
|
||||
isOverridden: false,
|
||||
definition: columnDefinitions[1],
|
||||
},
|
||||
];
|
||||
|
||||
+3
-1
@@ -7,7 +7,7 @@ import {
|
||||
|
||||
type CoreViewFieldGroupInput = Pick<
|
||||
CoreViewFieldGroup,
|
||||
'id' | 'name' | 'position' | 'isVisible' | 'viewId'
|
||||
'id' | 'name' | 'position' | 'isVisible' | 'viewId' | 'isOverridden'
|
||||
> & {
|
||||
viewFields: Pick<
|
||||
CoreViewField,
|
||||
@@ -17,6 +17,7 @@ type CoreViewFieldGroupInput = Pick<
|
||||
| 'isVisible'
|
||||
| 'size'
|
||||
| 'aggregateOperation'
|
||||
| 'isOverridden'
|
||||
>[];
|
||||
};
|
||||
|
||||
@@ -29,6 +30,7 @@ export const convertCoreViewFieldGroupToViewFieldGroup = (
|
||||
name: coreViewFieldGroup.name,
|
||||
position: coreViewFieldGroup.position,
|
||||
isVisible: coreViewFieldGroup.isVisible,
|
||||
isOverridden: coreViewFieldGroup.isOverridden ?? false,
|
||||
viewId: coreViewFieldGroup.viewId,
|
||||
viewFields: coreViewFieldGroup.viewFields.map(
|
||||
convertCoreViewFieldToViewField,
|
||||
|
||||
@@ -12,6 +12,7 @@ export const convertCoreViewFieldToViewField = (
|
||||
| 'isVisible'
|
||||
| 'size'
|
||||
| 'aggregateOperation'
|
||||
| 'isOverridden'
|
||||
>,
|
||||
): ViewField => {
|
||||
const viewField: ViewField = {
|
||||
@@ -22,6 +23,7 @@ export const convertCoreViewFieldToViewField = (
|
||||
isVisible: coreViewField.isVisible,
|
||||
size: coreViewField.size,
|
||||
aggregateOperation: coreViewField.aggregateOperation ?? null,
|
||||
isOverridden: coreViewField.isOverridden ?? false,
|
||||
// TODO: remove this once we have refactored the view field definition
|
||||
definition: undefined as unknown as ColumnDefinition<FieldMetadata>,
|
||||
};
|
||||
|
||||
@@ -13,6 +13,7 @@ export const mapBoardFieldDefinitionsToViewFields = (
|
||||
size: 0,
|
||||
position: fieldDefinition.position,
|
||||
isVisible: fieldDefinition.isVisible ?? true,
|
||||
isOverridden: false,
|
||||
definition: fieldDefinition,
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -13,6 +13,7 @@ export const mapColumnDefinitionsToViewFields = (
|
||||
position: columnDefinition.position,
|
||||
size: columnDefinition.size,
|
||||
isVisible: columnDefinition.isVisible ?? true,
|
||||
isOverridden: false,
|
||||
definition: columnDefinition,
|
||||
}));
|
||||
};
|
||||
|
||||
@@ -9,6 +9,7 @@ export const mapRecordFieldToViewField = (recordField: RecordField) => {
|
||||
position: recordField.position,
|
||||
size: recordField.size,
|
||||
aggregateOperation: recordField.aggregateOperation,
|
||||
isOverridden: false,
|
||||
__typename: 'ViewField',
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user