[FRONT COMPONENTS] Serialize relation between widget and front component (#18228)

This allows us to define page layout widgets of type front component in
an app with the front component universal identifier.
This commit is contained in:
Raphaël Bosi
2026-02-25 15:01:50 +01:00
committed by GitHub
parent 448241540d
commit 435e21d23f
15 changed files with 118 additions and 5 deletions
@@ -52,6 +52,7 @@ export class PageLayoutDuplicationService {
flatPageLayoutWidgetMaps,
flatObjectMetadataMaps,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
} = await this.getPageLayoutFlatEntityMaps(workspaceId);
@@ -116,6 +117,7 @@ export class PageLayoutDuplicationService {
flatPageLayoutTabMaps: optimisticFlatPageLayoutTabMaps,
flatObjectMetadataMaps,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
});
@@ -185,6 +187,7 @@ export class PageLayoutDuplicationService {
'flatPageLayoutWidgetMaps',
'flatObjectMetadataMaps',
'flatFieldMetadataMaps',
'flatFrontComponentMaps',
'flatViewFieldGroupMaps',
'flatViewMaps',
],
@@ -296,6 +299,7 @@ export class PageLayoutDuplicationService {
flatPageLayoutTabMaps,
flatObjectMetadataMaps,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
}: {
@@ -309,6 +313,7 @@ export class PageLayoutDuplicationService {
flatPageLayoutTabMaps: AllFlatEntityMaps['flatPageLayoutTabMaps'];
flatObjectMetadataMaps: AllFlatEntityMaps['flatObjectMetadataMaps'];
flatFieldMetadataMaps: AllFlatEntityMaps['flatFieldMetadataMaps'];
flatFrontComponentMaps: AllFlatEntityMaps['flatFrontComponentMaps'];
flatViewFieldGroupMaps: AllFlatEntityMaps['flatViewFieldGroupMaps'];
flatViewMaps: AllFlatEntityMaps['flatViewMaps'];
}): FlatPageLayoutWidget[] {
@@ -330,6 +335,7 @@ export class PageLayoutDuplicationService {
flatPageLayoutTabMaps,
flatObjectMetadataMaps,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
}),
@@ -119,6 +119,7 @@ export class PageLayoutUpdateService {
const {
flatObjectMetadataMaps,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
} =
@@ -128,6 +129,7 @@ export class PageLayoutUpdateService {
flatMapsKeys: [
'flatObjectMetadataMaps',
'flatFieldMetadataMaps',
'flatFrontComponentMaps',
'flatViewFieldGroupMaps',
'flatViewMaps',
],
@@ -154,6 +156,7 @@ export class PageLayoutUpdateService {
workspaceCustomApplicationUniversalIdentifier:
workspaceCustomFlatApplication.universalIdentifier,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
});
@@ -367,6 +370,7 @@ export class PageLayoutUpdateService {
workspaceCustomApplicationId,
workspaceCustomApplicationUniversalIdentifier,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
}: {
@@ -378,6 +382,7 @@ export class PageLayoutUpdateService {
AllFlatEntityMaps,
| 'flatObjectMetadataMaps'
| 'flatFieldMetadataMaps'
| 'flatFrontComponentMaps'
| 'flatViewFieldGroupMaps'
| 'flatViewMaps'
| 'flatPageLayoutTabMaps'
@@ -402,6 +407,7 @@ export class PageLayoutUpdateService {
workspaceCustomApplicationId,
workspaceCustomApplicationUniversalIdentifier,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
});
@@ -427,6 +433,7 @@ export class PageLayoutUpdateService {
workspaceCustomApplicationId,
workspaceCustomApplicationUniversalIdentifier,
flatFieldMetadataMaps,
flatFrontComponentMaps,
flatViewFieldGroupMaps,
flatViewMaps,
}: {
@@ -439,6 +446,7 @@ export class PageLayoutUpdateService {
AllFlatEntityMaps,
| 'flatObjectMetadataMaps'
| 'flatFieldMetadataMaps'
| 'flatFrontComponentMaps'
| 'flatViewFieldGroupMaps'
| 'flatViewMaps'
| 'flatPageLayoutTabMaps'
@@ -509,6 +517,8 @@ export class PageLayoutUpdateService {
configuration: widgetInput.configuration,
fieldMetadataUniversalIdentifierById:
flatFieldMetadataMaps.universalIdentifierById,
frontComponentUniversalIdentifierById:
flatFrontComponentMaps.universalIdentifierById,
viewFieldGroupUniversalIdentifierById:
flatViewFieldGroupMaps.universalIdentifierById,
viewUniversalIdentifierById: flatViewMaps.universalIdentifierById,
@@ -556,6 +566,8 @@ export class PageLayoutUpdateService {
configuration: updatedConfiguration,
fieldMetadataUniversalIdentifierById:
flatFieldMetadataMaps.universalIdentifierById,
frontComponentUniversalIdentifierById:
flatFrontComponentMaps.universalIdentifierById,
viewFieldGroupUniversalIdentifierById:
flatViewFieldGroupMaps.universalIdentifierById,
viewUniversalIdentifierById:
@@ -606,6 +618,8 @@ export class PageLayoutUpdateService {
configuration: restoredConfiguration,
fieldMetadataUniversalIdentifierById:
flatFieldMetadataMaps.universalIdentifierById,
frontComponentUniversalIdentifierById:
flatFrontComponentMaps.universalIdentifierById,
viewFieldGroupUniversalIdentifierById:
flatViewFieldGroupMaps.universalIdentifierById,
viewUniversalIdentifierById: