Add is active to overridable entities and deactivation logic for page layouts (#19200)
- Replace soft-deletion (deletedAt) with isActive boolean for overridable entities (tabs, widgets, viewFieldGroups, viewFields). Standard entities are deactivated (isActive: false) when removed from update payloads, while custom entities are hard-deleted. - When a viewFieldGroup is deactivated/deleted, its viewFields are reassigned to the next section by position (or null if none remain). - Add isActive: true filters to viewFieldGroup and viewField API queries so deactivated entities are excluded from responses. Next: - fields-widget-upsert.service.ts should be refactored a bit - Add restore logic
This commit is contained in:
+1
@@ -23,6 +23,7 @@ export const fromPageLayoutTabManifestToUniversalFlatPageLayoutTab = ({
|
||||
icon: pageLayoutTabManifest.icon ?? null,
|
||||
layoutMode:
|
||||
pageLayoutTabManifest.layoutMode ?? PageLayoutTabLayoutMode.GRID,
|
||||
isActive: true,
|
||||
widgetUniversalIdentifiers: [],
|
||||
createdAt: now,
|
||||
updatedAt: now,
|
||||
|
||||
+1
@@ -19,6 +19,7 @@ export const fromPageLayoutWidgetManifestToUniversalFlatPageLayoutWidget = ({
|
||||
applicationUniversalIdentifier,
|
||||
pageLayoutTabUniversalIdentifier,
|
||||
title: pageLayoutWidgetManifest.title,
|
||||
isActive: true,
|
||||
type: pageLayoutWidgetManifest.type as WidgetType,
|
||||
objectMetadataUniversalIdentifier:
|
||||
pageLayoutWidgetManifest.objectUniversalIdentifier ?? null,
|
||||
|
||||
+1
@@ -20,6 +20,7 @@ export const fromViewFieldGroupManifestToUniversalFlatViewFieldGroup = ({
|
||||
name: viewFieldGroupManifest.name ?? '',
|
||||
position: viewFieldGroupManifest.position,
|
||||
isVisible: viewFieldGroupManifest.isVisible ?? true,
|
||||
isActive: true,
|
||||
overrides: null,
|
||||
viewFieldUniversalIdentifiers: [],
|
||||
createdAt: now,
|
||||
|
||||
+1
@@ -22,6 +22,7 @@ export const fromViewFieldManifestToUniversalFlatViewField = ({
|
||||
viewFieldGroupUniversalIdentifier:
|
||||
viewFieldManifest.viewFieldGroupUniversalIdentifier ?? null,
|
||||
isVisible: viewFieldManifest.isVisible ?? true,
|
||||
isActive: true,
|
||||
size: viewFieldManifest.size ?? 0,
|
||||
position: viewFieldManifest.position,
|
||||
aggregateOperation: viewFieldManifest.aggregateOperation ?? null,
|
||||
|
||||
Reference in New Issue
Block a user